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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 w'j]Y%  
sm <kb@g  
VC修改注册表的方法与函数 n_ gB#L$  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 gI$`d?[0{  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 z?g4^0e  
]nGA1S{  
通过修改注册表实现IE换貌 "s^@PzQpN  
我们都知道,在注册表中,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() ;^SgV   
3W00,f^9  
  { ijSYQ  
Vc<n6  
   if(AddressNum==0){ %&S]cEw  
iC\=U  
  AfxMessageBox("没有可应用的选项!"); lJ2/xE]  
S;kc{?   
   return; h(K4AiGE  
%5w)}|fw  
   } yL,B\YCf8  
1Vvx@1  
   CString address; Q |r1.  
T+( A7Qrx%  
   int sel=m_address1.GetCurSel(); clV/i&]Qa  
k18V4ATE]  
   if(LB_ERR ==sel){ gpl!Iz~5  
cSWVHr  
  AfxMessageBox("请先选中要应用的选项!"); CawVC*b3  
X~b+LG/  
   return; 8hV:bz"  
k!rz8S"  
   } JB}h }nb  
WWs>@lCK  
   m_address1.GetText(sel,address); LB0=V0|  
2)]*re)  
  //取得所需加入的网址字符串 ?NeB_<dLa`  
iIRigW  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; !7|9r$  
BE;iC.rW  
   HKEY hResult; ou4?`JF)-  
1@Gv`{v  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); x/v+7Pt_  
2?&ptN) `N  
  //得到欲修改键的句柄 `84yGXLK  
x$4'a~E  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); XAkl,Y  
3mpjSL  
   RegCloseKey(hResult); _3JTHf<+  
CKx}.<_  
  //修改注册表相应的值并释放键句柄 6 d6SP)|j  
zh#uwT1u  
  } I#%-A  
I<f M8t.Y>  
  2.给工具条指定用户特定的背景图案 &Kwt vUN{  
XS@6jbLE  
  void CJhfDlg::OnAddBackGround() A}O9e  
D7wWk ,B  
  { e70*y'1fu  
cFo-NI2  
   if(PictureNum==0){ 1EB`6_>y  
s^< oU  
  AfxMessageBox("没有可应用的选项!"); P]^] T}5  
J]e&z5c  
   return; 2j|Eh   
".=EAXVU  
   } v-@@>?W-  
"[ ,XS`  
   CString picture; rZ7 Ihof  
%&NK|M+n  
   int sel=m_PicList.GetCurSel(); ^hJ ,1{o  
efm<bJB2  
   if(LB_ERR ==sel){ 0cVXUTJ|W  
K>~l6  
   AfxMessageBox("请先选中要应用的选项!"); l1-FL-1  
MR: {Ps&,  
   return; C5?M/xj  
Nq3P?I(<  
   } 6=D;K.!  
3._fbAN%e  
   m_PicList.GetText(sel,picture); DO; 2)ZQ%  
fx5vaM!  
  //取得所需加入背景图案文件路径 pj`-T"Q  
/PlsF  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; xR3A4m  
nXjUTSGa)  
   HKEY hResult; `MS=/xE  
; o=mL_[  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); Qw+">  
J.(_c ' r  
   //得到欲修改键的句柄 4)z](e$  
Q2uE_w`B  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); V2X(f6v  
7y3; F7V  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); *!kg@ _0K  
=T`-h"E~@  
   RegCloseKey(hResult); * bK@A2`  
kzT'  
  //修改注册表相应的值并释放键句柄 * G4;  
0v?,:]A0E  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); TM;)[R@  
J\BdC];  
  //得到欲修改键的句柄 5;*C0m2%i  
k-/$8C  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); Z:{Z&HQC  
Z^'; xn  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture);  AHb   
L.'N'-BV  
   RegCloseKey(hResult); l/5/|UE9  
Yv)/DsSyL  
  //修改注册表相应的值并释放键句柄 Et (prmH  
,??|R` S  
  } p%_TbH3j`  
4$rO,W/&0  
=/;(qy9.-R  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八