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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 X{\>TOk   
T{d7,.:  
VC修改注册表的方法与函数 R K#e7  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 Sx+.<]t2A  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 :.f =>s]  
:XcU@m  
通过修改注册表实现IE换貌 o!^':mll  
我们都知道,在注册表中,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() ?dlQE,hB$  
2<)63[YO  
  { T!eeMsI  
rc1EJ(c  
   if(AddressNum==0){ YuSe~~F)j  
>/nS<y>  
  AfxMessageBox("没有可应用的选项!"); bVSa}&*kM  
1u7 5  
   return; (o)nN8  
@4Z>;  
   } H>_ FCV8  
3g9xTG);eA  
   CString address; ==`K$rM  
I \zM\^S>]  
   int sel=m_address1.GetCurSel(); &^FCp'J-  
!/ TeTmo  
   if(LB_ERR ==sel){ ?~uTbNR  
a{^[<  
  AfxMessageBox("请先选中要应用的选项!"); T5.1qrL  
\ F#mwl,>"  
   return; >w+WG0Z K  
3&_O\nD  
   } Brr{iBz*"  
hNmC(saMGm  
   m_address1.GetText(sel,address); 1s8v E f  
-q|K\>tgU  
  //取得所需加入的网址字符串 ))cL+ r  
?Z {4iF  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; ~'KymarPU  
7kx)/Rw\B  
   HKEY hResult; ]WR+>)ERb  
b>=MG8  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); dX{|-;6vm  
]?S\So+  
  //得到欲修改键的句柄 J?Brnf.  
5s_7 P"&H  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); E ;65kZ  
=:n>yZ3T  
   RegCloseKey(hResult); m]} E0  
vg"y$%  
  //修改注册表相应的值并释放键句柄 I8@NQ=UV0  
5:/ zbt\C  
  } f@l$52f3D  
m5Q,RwJ!xK  
  2.给工具条指定用户特定的背景图案 rM#jxAb  
_7#Ng@#\  
  void CJhfDlg::OnAddBackGround() ZQ9!k* ^  
3P~I' FQ  
  { Wz}RJC7p  
$D +6=m[  
   if(PictureNum==0){ h 1G`z  
ewg&DBbN"  
  AfxMessageBox("没有可应用的选项!"); L22GOa0  
W&ya_iP~C  
   return; ,S E5W2a]  
{j@ S<PD  
   } 5n! V^ !  
(m80isl  
   CString picture; GY,l&.&  
<h:>:%#k  
   int sel=m_PicList.GetCurSel(); {%5k1,/(  
$ r)+7i  
   if(LB_ERR ==sel){ Q*}#?g  
(iM"ug2  
   AfxMessageBox("请先选中要应用的选项!"); WL$Ee=  
RB.&,1  
   return; pV{MW#e  
,0%P3  
   } ,o7aIg&_H  
4zs1BiMG  
   m_PicList.GetText(sel,picture); Q1J./C}  
aKXaor@0f.  
  //取得所需加入背景图案文件路径 &S}%)g%Iv9  
gQ4Q h;  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; i*B@#;;F  
?nJ7lLQA  
   HKEY hResult; O^ZOc0<  
|&B.YLx  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); Cv862k P  
0&T0Ls#4  
   //得到欲修改键的句柄  /B)ZB})z  
yPrp:%PS  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); u H[d%y/  
/3->TS  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); E;$)Oz  
}[XzM /t  
   RegCloseKey(hResult); im{'PgiR  
=KqcWN3k  
  //修改注册表相应的值并释放键句柄 x'kwk  
ufAp 7m@ud  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); Bf!i(gM  
7^,C=2  
  //得到欲修改键的句柄 ktLXL;~X  
<ABN/nH  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); YY-{&+,  
Jv1igA21_h  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); 4<._)_m  
k%-_z}:3V  
   RegCloseKey(hResult); {Ts@#V=:  
%"^$$$6%  
  //修改注册表相应的值并释放键句柄 sW!pMkd_  
@/h_v#W  
  } Jcf'Zw"\  
1];rW`Bw  
lxoc.KDtR  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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