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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 v{ohrpb0v  
sF[gjeIb  
VC修改注册表的方法与函数 x*'H@!!G  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 <bo)p6S&  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 Wu|MNB?M  
X"q[rsB  
通过修改注册表实现IE换貌 un~`|   
我们都知道,在注册表中,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() Gds(.]_  
& C)1(  
  { ,lvG5B\0  
%dW ;P[0  
   if(AddressNum==0){ uQx/o ^  
B|"i`{>  
  AfxMessageBox("没有可应用的选项!"); Keo<#Cc?  
hF@%k ;I  
   return; zng.(]U/?H  
=fnBE`Uc  
   } n YUFRV$  
(.@peHu)#  
   CString address; ,K\7y2/  
%]0?vw:;j  
   int sel=m_address1.GetCurSel(); \ HUDZ2 s  
j[A(@ w"  
   if(LB_ERR ==sel){ ]4[%Sv6]G  
2#^g] o-N  
  AfxMessageBox("请先选中要应用的选项!"); `Ji WS  
Q Kr/  
   return; ^JMG'@x  
;Bz| hB{  
   } k;t G-~\d  
~D|,$E tX4  
   m_address1.GetText(sel,address); V~/-e- 9u  
vWESu4W`L  
  //取得所需加入的网址字符串 ~!PWJ~U  
L YB @L06a  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; 'V:MppQVZ.  
B?-w<":!  
   HKEY hResult; '5$@ I{z  
k]r4b`x`  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); C^4,L \E  
l P=I0A-  
  //得到欲修改键的句柄 e<1Ewml(]  
p2rT0gu!  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); GeY!f/yQ<  
P%l?C?L  
   RegCloseKey(hResult); PcT]  
`f&::>5tD  
  //修改注册表相应的值并释放键句柄 a*X{hU 9P  
G]k[A=dg  
  } S g1[p#U  
F>#F@j^c  
  2.给工具条指定用户特定的背景图案 I9+h-t  
80Fa i  
  void CJhfDlg::OnAddBackGround() \yw5`5g  
\C>IVz<O  
  { ;K8}Yq9p9  
rm3/R<  
   if(PictureNum==0){ {X?1}5ry  
!<~.>5UQ  
  AfxMessageBox("没有可应用的选项!"); + <E zv  
W&9 qgbO]  
   return; _p 1!8*0]  
-['& aey}a  
   } WZ,k][~  
;4b=/1M'  
   CString picture; ^ /G ;  
S{&%tj~U  
   int sel=m_PicList.GetCurSel(); "k@[7 7  
xsRkO9x  
   if(LB_ERR ==sel){ +3zQ"lLD^  
[DeDU:  
   AfxMessageBox("请先选中要应用的选项!"); Ty{ SZU J  
Q) aZ0 Pt  
   return; ,|VLOY ^  
PH8 88O  
   } ub>:dNBN  
Qu'#~#L`  
   m_PicList.GetText(sel,picture); H#YI7l2  
52o^]  
  //取得所需加入背景图案文件路径 BI,]pf;GWv  
PZJn/A1  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; b~tu;:  
6U8esPs,  
   HKEY hResult; M"s:*c_6  
!^MwE]  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); ue7D' UZL>  
n]4Elrxx  
   //得到欲修改键的句柄 (#>X*~6  
Fyw X  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); u5rvrn ]  
DN=W2MEfc  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); =kwz3Wv  
l(Hz9  
   RegCloseKey(hResult); :qj^RcmVPL  
ydOG8EI  
  //修改注册表相应的值并释放键句柄 Oj%5FUP~[%  
'Y ,2CN  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); x5PM ]~"p  
,Il) tH  
  //得到欲修改键的句柄 ^}vf  
@UdF6 :T  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); q+8de_"]  
AHuIA{AdUR  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); [+b8 !'|&  
#0h}{y E  
   RegCloseKey(hResult); -U$;\1--  
hTEb?1CXU  
  //修改注册表相应的值并释放键句柄 [6g$;SicT  
4Lk<5Ho  
  } Dl0{pGK~  
\DE, ,  
C"5P7F{  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八