社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 社区论坛任务 迷你宠物
  • 3710阅读
  • 1回复

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 d2X#_(+d  
wm2Q(l*HH  
VC修改注册表的方法与函数 (nda!^f_s  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 jIdhmd* $z  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 ,PN>,hFL  
Kq!n `@  
通过修改注册表实现IE换貌 DU1,i&(  
我们都知道,在注册表中,IE的主要设置内容在键HKEY_CURRENT_USER 下面的Software\\Microsoft\\Internet Explorer中,例如,我们想对IE的启动初始访问页进行定义修改,便可以把Software\\Microsoft \\Internet Explorer\\Main下的“Start Page”设置为需要的网址,如“www.ccidnet.com”。另外通过修改键HKEY_CURRENT_USER和键HKEY_LOCAL_MACHINE 下面的Software \\Microsoft\\Internet Explorer\\Toolbar里“BackBitmap”和“BackBitmapIE5”的值,即可加入用户特定的背景图案。我们通过以下代码可实现对IE的改造: void CJhfDlg::OnAddAddress() !JYDg  
[U3z*m>e;  
  { sFS_CyN!7  
&Vgjd>  
   if(AddressNum==0){ bk4%lYJ"  
$8i t&/JP,  
  AfxMessageBox("没有可应用的选项!"); ]s, T` (&  
O gHWmb  
   return; |Ca$>]?  
{8I93]  
   } Uk*s`Y  
ol`]6"Sc  
   CString address; J)g(Nw,O  
_5 y)m5I  
   int sel=m_address1.GetCurSel(); 3'&]v6|  
iQa Q"s  
   if(LB_ERR ==sel){ HM[BFF[;/  
kFk+TXLDIt  
  AfxMessageBox("请先选中要应用的选项!"); E) z g,7Y  
RNvtgZ}k{X  
   return; lBh {8a|2W  
eW >k'ez  
   } )SDGj;j+  
~=c^ Oo:  
   m_address1.GetText(sel,address); M6?Qw=  
@RaMO#  
  //取得所需加入的网址字符串 wp*;F#:G  
SZwfYY!ft0  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; 0W=IuPDU  
kV<VhBql!  
   HKEY hResult; f$WO{ J  
CtSAo\F  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); V l9\&EL  
e[e2X<&0RT  
  //得到欲修改键的句柄 &aHj;Z(  
2EE#60  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); iwmXgsRa9}  
:EA,0 ,  
   RegCloseKey(hResult); >J8?n,*  
J::SFu=  
  //修改注册表相应的值并释放键句柄 q(uu;l[  
QT-rb~  
  } @69q// #B  
T@Q.m.iV4  
  2.给工具条指定用户特定的背景图案 QCtG #/  
T\c dtjk  
  void CJhfDlg::OnAddBackGround() Bq@G@Qi  
$6oLiYFX;  
  { R`$Odplh>  
HDy[/7"  
   if(PictureNum==0){ !EKF^n6  
: wn![<`3q  
  AfxMessageBox("没有可应用的选项!"); $fh?(J  
,[ Ytl  
   return; $W0lz#s:  
Jn:GqO  
   } 7CQ48LH]  
jliKMd<?  
   CString picture; Pel3e ~?t  
%HSoQ?qA  
   int sel=m_PicList.GetCurSel(); zxsnrn;|  
\< z{ @  
   if(LB_ERR ==sel){ ~KX!i 8+X  
H3b@;&`&  
   AfxMessageBox("请先选中要应用的选项!"); $!fz87-p>  
s}HTxY;  
   return; 8o4 vA,  
0q62{p7  
   } WnIh( 0  
E26ZVFg  
   m_PicList.GetText(sel,picture); myJsRb5  
fitm*  
  //取得所需加入背景图案文件路径 %l5J  
* |,V$  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; v4S|&m  
{(aJrSE<z  
   HKEY hResult; 8}S|iM  
8"S0E(,mu  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); Wxg|jP$~   
)I5f`r=Ry  
   //得到欲修改键的句柄 a{)"KAP  
9h9Y:i*Gh5  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); #~ >0Dr  
?.~@lE  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); 3[Z?`X  
fCF93,?$  
   RegCloseKey(hResult); b8`O7@ar  
mirMDJsl%  
  //修改注册表相应的值并释放键句柄 Z~P5SEg  
.UJDn^@  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); |:EUh  
Y#rao:I  
  //得到欲修改键的句柄 l[h??C`  
naAZR*(A  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); 2j_L jY'7  
{cG&l:-r  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); (F#Qunze  
]p$fEW g  
   RegCloseKey(hResult); p_mP'  
`|]juc  
  //修改注册表相应的值并释放键句柄 M\T6cN@m  
1g|H8CA  
  } KWd]?e)  
fHe3 :a5+W  
7ZJYT#>b  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
级别: 店掌柜
发帖
5692
铜板
103378
人品值
1520
贡献值
26
交易币
0
好评度
5373
信誉值
0
金币
0
所在楼道

只看该作者 1 发表于: 2006-06-09
用工具弄过...

简单生活
执著追求
别笑我浅溥,天真的以为用一腔真诚就能感动这个冷漠的世界。
也别说我幼稚,竟想用不长的人生去诠释繁杂的红尘。
然而除了真诚,我还能给你什么,的确我真的一无所有!

描述
快速回复

您目前还是游客,请 登录注册
欢迎提供真实交流,考虑发帖者的感受
认证码:
验证问题:
10+5=?,请输入中文答案:十五