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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 \nJr jH A  
& .#0jb1r  
VC修改注册表的方法与函数 Pc$<Cv|vz  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。  =HSE  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 RJWlG'i  
('gjf l  
通过修改注册表实现IE换貌 MAR;k?d  
我们都知道,在注册表中,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() J#D!J8KP7  
U{;i864:}  
  { 8IX6MfR}C  
fb#Ob0H  
   if(AddressNum==0){ { ~Cqb7  
jem$R/4"  
  AfxMessageBox("没有可应用的选项!"); bc&:v$EGy  
P2oR C3~  
   return; )kkO:j  
fg,~[%1  
   } -1< }_*  
>2wjV"W?  
   CString address; pa+ y(!G  
6 o+zhi;E  
   int sel=m_address1.GetCurSel(); C!.6:Aj  
:n>h[{ o%  
   if(LB_ERR ==sel){ !g}9xIL  
>i0FGmxH  
  AfxMessageBox("请先选中要应用的选项!"); f2d"b+H#  
F"bbU/5  
   return; ./6L&?*`~;  
aMHIOA%Kh  
   } =}V`O>  
O aZ~  
   m_address1.GetText(sel,address); hsl Js^  
W9u (  
  //取得所需加入的网址字符串 #ucOjdquq  
SKYS6b  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; GWhb@K  
S</" ^C51J  
   HKEY hResult; F\XzP\  
7lh%\  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 5%W3&F6 %  
P= ]ZXj[  
  //得到欲修改键的句柄 E-Mp|y/V  
c\R! z&y~  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); 9(H8MUF0{  
H\ NO4=  
   RegCloseKey(hResult); Kj-`ru  
MjLyB^ M  
  //修改注册表相应的值并释放键句柄 ?! kup  
ly{ ~X  
  } + W +<~E  
Pajr`gU  
  2.给工具条指定用户特定的背景图案 A5nu`e9&  
gHm ^@  
  void CJhfDlg::OnAddBackGround() Mk^o*L{ H  
IP~g7`Y  
  { UL{Xe&sT  
E(S}c*05O  
   if(PictureNum==0){ aEgzQono  
H!xBFiOH$n  
  AfxMessageBox("没有可应用的选项!"); on(W^ocnD  
L ~  
   return; kp0>8rkF  
O'p7^"M  
   } +C+3DwN  
"#p)Z{v"!  
   CString picture; N/y.=]  
5v?6J#]2  
   int sel=m_PicList.GetCurSel(); |_ ;-~bmb  
L=VuEF  
   if(LB_ERR ==sel){ D9Q%*DLd$_  
SR\#>Qwx_  
   AfxMessageBox("请先选中要应用的选项!"); {^ N = hI  
GHoPv-#  
   return; lk+)-J-lj'  
?C4a,%  
   } 9aXm}  
, X|oCD  
   m_PicList.GetText(sel,picture); 3"<{YEj8U  
O[8Lp?  
  //取得所需加入背景图案文件路径 LtNG<n)_BH  
^91k@MC  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; L6',s4  
1*=[% d7  
   HKEY hResult; Q}1PPi,  
]zD/W%c  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); i/WYjo  
D'</eJ  
   //得到欲修改键的句柄 #$#{QEh0}  
mDo]5 i<  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); ` a@NYi6  
.kBAUkL:  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); 8^HMK$  
P+]39p{  
   RegCloseKey(hResult); #%x4^A9 q  
6C   
  //修改注册表相应的值并释放键句柄 3L#KHTM  
RJGf@am&  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); n RXf\*"3  
(3 _2h4O  
  //得到欲修改键的句柄 E]+W^ VG  
BI}>"',  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); zf^!Zqn[8z  
!iZ*ZPu  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); *%g*Np_P  
'1bdBx\<.  
   RegCloseKey(hResult); X3q'x}{  
}G-qOt  
  //修改注册表相应的值并释放键句柄 psYfz)1;  
rYc?y  
  } _hXadLt  
U-|g tND  
<}B]f1zX  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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