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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 VVYQIR]!yk  
Iu[^"  
VC修改注册表的方法与函数 W7O%.xP  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 Fu^^Jex  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 s<sqO,!  
TEE$1RxV(  
通过修改注册表实现IE换貌 __-rP  
我们都知道,在注册表中,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() 23U9+  
&+J5GHt@  
  { 4_F<jx,G  
) ok_"wB  
   if(AddressNum==0){ hh|'Uq3  
 &j2L- )  
  AfxMessageBox("没有可应用的选项!"); P=KOw;bs  
_0oZgt)  
   return; 5\S)8j `8  
k#5S'sCF<  
   } ceH7Rq:4W  
:kOLiko!4>  
   CString address; 5u~Ik c~  
DJr 8<u  
   int sel=m_address1.GetCurSel(); l!~8  
3-h u'xSU  
   if(LB_ERR ==sel){ OC 7:Dp4  
.^,fw=T|1  
  AfxMessageBox("请先选中要应用的选项!"); CImB,AXS  
,HUs MCXQ  
   return; $O%lYQY]  
85w D<bN27  
   } f2uog$H k  
7EI(7:gOn  
   m_address1.GetText(sel,address); R+]Fh4t  
JBeC\ \QX  
  //取得所需加入的网址字符串 b ?B"u^b!  
NV36Q^Am[  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; y!blp>V6  
MR#jI  
   HKEY hResult; !`=r('l  
c ?V,a`6  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); jdXkU  
o! sxfJKl  
  //得到欲修改键的句柄 !yoj ZG MB  
L7X._XBO[  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); :}+U?8/"7  
y?_tSnDK  
   RegCloseKey(hResult); Y0&w;P  
4JU#3  
  //修改注册表相应的值并释放键句柄 i*.Z~$  
[9[tn -  
  } qW?^_  
YRW<n9=3  
  2.给工具条指定用户特定的背景图案 G U0zlG] C  
?9mWMf%t  
  void CJhfDlg::OnAddBackGround() _q3SR[k+`  
'9$xOrv  
  { &XrF#s  
z<: 9,wtbP  
   if(PictureNum==0){ #)my)}o\p  
o"7,CQye  
  AfxMessageBox("没有可应用的选项!"); 1?E\2t&K  
G5TdAW  
   return; +:/`&LOS-  
Qy0bp;V/  
   } d!Y,i!l!  
/5U?4l(6[f  
   CString picture; AGLzA+6M  
r[EN`AxDb  
   int sel=m_PicList.GetCurSel(); #/\FB'zC  
_ F@>?\B  
   if(LB_ERR ==sel){ >]ZojdOl)  
B quyPG"  
   AfxMessageBox("请先选中要应用的选项!"); khjW9Aa8t  
P/M*XUG.  
   return; BCsW03sQ  
bL swq  
   } 2s|[!:L5  
/vsQ <t;~  
   m_PicList.GetText(sel,picture); dgX0\lKpf  
+SUQRDF@i  
  //取得所需加入背景图案文件路径 u'Mq^8  
AD*+?%hj  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; .!nFy`  
L_ 8C=MS  
   HKEY hResult; oE-i`;\8  
0BxO75m}o  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); ~[k 2(  
|{t}ULc  
   //得到欲修改键的句柄 @B+  
<Ni]\-*  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); iCc@N|~  
L.+5`&  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); Q'$aFl'NR  
5-=mtvA:  
   RegCloseKey(hResult); z'fGHiX7.0  
crZ\:LeJ  
  //修改注册表相应的值并释放键句柄 F =d L#@^  
Tvf]OJ9N  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); (nvSB}?  
}v=q6C#Q>  
  //得到欲修改键的句柄 |`:Uww+3  
~3/>;[!  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); (MJu3t @  
*k=Pk  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); |W\CV0L2  
Z{u*vUC&  
   RegCloseKey(hResult); zx;x@";p  
2E=E!Zwt_  
  //修改注册表相应的值并释放键句柄 NpH)K:$#%  
)Bd+jli|s  
  } -I\_v*nA  
>Pbd#*  
u) fbR  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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