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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 Z# :Ww  
IQ|~d08}  
VC修改注册表的方法与函数 ;CC[>  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 n b{8zo  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 abF_i#  
5n"'M&Ce  
通过修改注册表实现IE换貌 ugL$W@   
我们都知道,在注册表中,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() =EG[_i{r  
4f>Vg$4  
  { e]5QqM7  
t & ucq Y  
   if(AddressNum==0){ r9QNE>UG  
7_|zMk.J*  
  AfxMessageBox("没有可应用的选项!"); F!Uk`[L  
Rk'pymap  
   return; h;Bol  
;\H2U .  
   } N_T;&wibO  
08twcY;&k  
   CString address; >yaz  
J"z8olV  
   int sel=m_address1.GetCurSel(); @-W)(9kZ|  
-PX {W)Aw  
   if(LB_ERR ==sel){ y)=Xo7j  
)UxF lp;\  
  AfxMessageBox("请先选中要应用的选项!"); NTn-4iJy  
^y?? pp<1J  
   return; 9iv!+(ni  
}6o` in>M  
   } w+JDu_9+A]  
vb$k/8JK  
   m_address1.GetText(sel,address); 8J>s|MZ  
tewC *%3V  
  //取得所需加入的网址字符串 z,^baU  
}?H|9OS  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; (llg!1  
khyV uWN  
   HKEY hResult; "d{ |_Cf  
;8ugI  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); h>fY'r)DAx  
R@ihN?k  
  //得到欲修改键的句柄 "EA%!P:d,  
n}YRE`>D  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); eO*FoN  
-`A6K!W&~p  
   RegCloseKey(hResult); 3Hr ZN+D  
oo<,hOv   
  //修改注册表相应的值并释放键句柄 qi$6y?  
teET nz_L  
  } 9CxU: ;3  
$My%7S/3  
  2.给工具条指定用户特定的背景图案 Q xKC5`1  
V:yia^1  
  void CJhfDlg::OnAddBackGround() \|Us/_h  
](B+ilr   
  { Ia[e 7  
pYH#Vh  
   if(PictureNum==0){ 8I`>tY  
L%Me wU0TZ  
  AfxMessageBox("没有可应用的选项!"); H71LJfH  
jsjH.O  
   return; w8c71C  
RYy_Ppn96f  
   } eqg|bc[i!t  
' 4ftclzL  
   CString picture; >]s|'HTxF  
;3 O0O  
   int sel=m_PicList.GetCurSel(); 0M>+.}e+  
B&VruOP0  
   if(LB_ERR ==sel){ }f/ 1  
3* 1cCM42  
   AfxMessageBox("请先选中要应用的选项!"); ;3'ta!.c  
&iORB  
   return; w9G (^jS6  
7'LKyy !"3  
   } !#Ub*qY1Z  
[RoOc)u  
   m_PicList.GetText(sel,picture); Uf4A9$R.G  
\C#X Kk$OE  
  //取得所需加入背景图案文件路径 eVGO6 2|!  
g Y|f[M|  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; 5<^ $9('  
[3"k :  
   HKEY hResult; &e0BL z  
?0*,x)t  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); D=Jj!;  
G)t_;iNL|  
   //得到欲修改键的句柄 UuPXo66F ]  
'"qTmo!  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); ]Dec/Nnj  
M#Kke9%2  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); l!qhK'']V"  
3Xcjr2]~  
   RegCloseKey(hResult); 3CcCcZ9I  
t/%{R.1MN  
  //修改注册表相应的值并释放键句柄 rZ'&'#Q  
MkLXMwuQ&  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); B8.a#@R  
1K{u>T  
  //得到欲修改键的句柄 71b0MHNkvv  
}$%j}F{  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); [`J91=  
X} {z7[  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); h @AKfE!\~  
>f$N G  
   RegCloseKey(hResult); . ,h>2;f  
! [3  /!  
  //修改注册表相应的值并释放键句柄 A#7/,1h\  
00SYNG!  
  } ]w,:T/Z}  
9[2qgw\D  
I-Q@v`  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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