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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 k2DT+}u7G  
E uxD,(  
VC修改注册表的方法与函数 |pxM8g1w  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 },G6IuH%  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 h}r64<Y2{  
_tDSG]  
通过修改注册表实现IE换貌 6qg_&woJ3  
我们都知道,在注册表中,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() >KXSb@  
W@U<GF1  
  { /KGVMBifM  
s<,[xkMB  
   if(AddressNum==0){ h^o>9s/|/H  
VsEMF i=  
  AfxMessageBox("没有可应用的选项!"); A (z lX_  
9NXf~-V-  
   return; 7`-fN|  
d Bn/_  
   } gI<e=|J6w  
"cSH[/  
   CString address; %GS^=Qr  
nv>|,&;  
   int sel=m_address1.GetCurSel(); fui;F"+1  
iV<4#aBg  
   if(LB_ERR ==sel){ w5zr Ek#  
FVw;`{  
  AfxMessageBox("请先选中要应用的选项!"); b#\i]2b:  
<j CD^  
   return; Yzo_ZvL  
}i,LP1R  
   } Q'-g+aN  
9w\ yWxl  
   m_address1.GetText(sel,address); e(nT2E  
^APPWQUl  
  //取得所需加入的网址字符串 7;0$UYDU*  
M.B0)  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; ^yLiyRe\  
5-rG8  
   HKEY hResult; cTlitf9  
ErZYPl  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 2^Y@e=^A  
`Hj{XIOx  
  //得到欲修改键的句柄 C'5b)0km  
#a7 Wx}  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); mx\b6w7  
qu>5 rg-  
   RegCloseKey(hResult); q]PeS~PjF\  
;yd[QT<I<  
  //修改注册表相应的值并释放键句柄 7,vvL8\NHu  
2@!Ou$W  
  } O [Q;[@  
t4HDt\}&k~  
  2.给工具条指定用户特定的背景图案 H{&o_  
f( =3'wQ  
  void CJhfDlg::OnAddBackGround() kl4u]MyL#  
B^8]quOH  
  { Y<1]{4Wt  
c:;m BS>~  
   if(PictureNum==0){ bD*z"e  
VE_%/Fs,  
  AfxMessageBox("没有可应用的选项!"); UD.&p'^ /{  
 x!)[l;  
   return; LojEJ  
=lyP &u  
   } }vzZWe  
<qGVOAnz+  
   CString picture; Xgq-r $O2X  
BNA`Cc1VV  
   int sel=m_PicList.GetCurSel(); |q0MM^%"  
&RSUB;y mL  
   if(LB_ERR ==sel){ SM3qPlsF  
'3n?1x  
   AfxMessageBox("请先选中要应用的选项!"); (t^&L  
`EFPY$9`D  
   return; CqF= 5z:A  
$x%3^{G  
   } X?3?R\/  
[xaglZ9HNo  
   m_PicList.GetText(sel,picture); kqyV UfX$3  
gOk<pRcTb=  
  //取得所需加入背景图案文件路径 :#yjg1aej  
u<}PcI.  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; e+_~a8 -|  
4tZnYGvqe  
   HKEY hResult; 0zscOE{  
CBj&8#8Z  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); `#v(MK{9+V  
T*m;G(  
   //得到欲修改键的句柄 Kzv*`  
hvc%6A\nm  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); WKHEU)'!  
lDBn3U&z>  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); vocXk_  
>icL,n"]  
   RegCloseKey(hResult); AdCi*="m  
zAr@vBfC%  
  //修改注册表相应的值并释放键句柄 hqPpRSv'  
n\U3f M>N  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); GpW5)a  
9)_fH6r  
  //得到欲修改键的句柄 ."8bW^:  
6f$h1$$)^  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); h`1{tu  
^CZ)!3qd1  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); )ifEgBT  
Oyfc!  
   RegCloseKey(hResult); aP%& -W$D|  
N[(ovr  
  //修改注册表相应的值并释放键句柄 5>o<! 0g  
|C MKY  
  } f/_RtOSw  
Pk9 4O  
!jV}sp<Xp  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
批量上传需要先选择文件,再选择上传
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八