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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 q:}Q5gzZ  
1=*QMEv1G  
VC修改注册表的方法与函数 ]2Vu+AP  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 Z$a5vu*pg  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 Z%rMX}  
bSG}I|  
通过修改注册表实现IE换貌 f1Az|h  
我们都知道,在注册表中,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() g?TPRr~$9  
<%_7%  
  { D@O#P^?  
?2RDd|#  
   if(AddressNum==0){ G}|!Jdr  
*-.{->#Y  
  AfxMessageBox("没有可应用的选项!"); ||xiKg  
C[4{\3\Va  
   return; =hw&2c  
#![9QUvcf  
   } `f|Gw5R  
j=q*b Qr  
   CString address; t\GoUeH]  
Fj_6jsDb  
   int sel=m_address1.GetCurSel(); PU& v{gn  
2aDjt{7P  
   if(LB_ERR ==sel){ `FJ2 ?  
7I#<w[l>k  
  AfxMessageBox("请先选中要应用的选项!"); aa-{,X"MF  
MAv-`8@|  
   return; e$vvmbK.  
4 ~s{zob  
   } :kQ%Mj>  
b{~64/YJ  
   m_address1.GetText(sel,address); \H^A@f  
Ro2Ab^rQ|  
  //取得所需加入的网址字符串 fRt`]o:Om  
Ad:}i9-x  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; D  ,U#z  
, z-#B]  
   HKEY hResult; 9"g!J|+  
(yr<B_Y'MY  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); O ,9,= 2j  
)R+26wZ|n*  
  //得到欲修改键的句柄 f4mQDRlD  
aSGZF w  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); N I*x):bx  
],W/IDv  
   RegCloseKey(hResult); 6T`F'Fk[  
u&E$(  
  //修改注册表相应的值并释放键句柄 :j<ij]rsI  
T4c]VWtD  
  } +46m~" ]  
u/ Gk>F  
  2.给工具条指定用户特定的背景图案 /b;GC-"v  
0#/NZO  
  void CJhfDlg::OnAddBackGround() U!TSAg21P  
E!s?amM4  
  { R(1N]>  
q r<+@Q  
   if(PictureNum==0){ ~43T$^<w;  
`[(.Q  
  AfxMessageBox("没有可应用的选项!"); :TZ</3Sw  
dlf nhf  
   return; 17C"@1n-  
;_nV*G.y#^  
   } =/Lwprj  
xQ]^wT.Q  
   CString picture; #~JR_oQE!  
#}lq2!f6  
   int sel=m_PicList.GetCurSel(); lQ{o[axT  
`Lr I^9Z  
   if(LB_ERR ==sel){ {0~xv@ U  
m"|AD/2;(  
   AfxMessageBox("请先选中要应用的选项!"); o3ZqPk]al  
te*|>NRS  
   return; ,|7!/]0&  
&OXWD]5$6  
   } G@(ukt`0}  
TIIwq H+h.  
   m_PicList.GetText(sel,picture); A`I;m0<  
3 {OZdl|  
  //取得所需加入背景图案文件路径 !iHJ!  
o-ee3j.  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; D8O&`!mf  
|bM?Q$>~  
   HKEY hResult; }rKKIF^f\S  
.B?J@,  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); kw$*o k  
9^zA(  
   //得到欲修改键的句柄 b]oPx8*'  
r.vezsH  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); * ak"}s  
@&F\M}  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); T!ik"YZ@i  
'VQ mK#  
   RegCloseKey(hResult); 0{k*SCN#  
qJZ:\u8oO  
  //修改注册表相应的值并释放键句柄 bkSI1m3  
LvcGh  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); >>I~v)a>w  
ln*_mM/Q%  
  //得到欲修改键的句柄 '7ps_pz  
;XDGlv%  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); OGGuVY  
*B0 7-  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); +]*hzWbe  
VUbg{Rb)  
   RegCloseKey(hResult); k0>]7t$L  
6?uo6 I  
  //修改注册表相应的值并释放键句柄 lD]/Kx  
<], ~V\m  
  } bmd3fJb`r  
;p] f5R^  
:L&d>Ii|'  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
如果您在写长篇帖子又不马上发表,建议存为草稿
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八