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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 O: :X$O7  
shj S^CP  
VC修改注册表的方法与函数 Ef:.)!;jy  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 8u!!a^F  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 aXhgzI5]  
]B5qv6  
通过修改注册表实现IE换貌 rpQB# Pz  
我们都知道,在注册表中,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() ,eF}`  
PIsMx-i0  
  { d^!)',`  
89k9#i X  
   if(AddressNum==0){ [8(e`6xePb  
~4`LOROC  
  AfxMessageBox("没有可应用的选项!"); _<yJQ|[z~i  
'k{pWfn=<  
   return; 8{(;s$H~  
p\WW~qD  
   } yL7a*C&  
gj0gs  
   CString address; NYm2fFPc  
RxjC sjg  
   int sel=m_address1.GetCurSel(); +F]X  
/P Qz$e-!Y  
   if(LB_ERR ==sel){ \%K< S  
#\GWYWkR  
  AfxMessageBox("请先选中要应用的选项!"); E#Smi507p  
0 x4p!5  
   return; w|O MT>.  
v\'E o* 4  
   } ?m}vDd  
Q]uxZ;}aF  
   m_address1.GetText(sel,address); 4 B"tz!  
p. SEW5  
  //取得所需加入的网址字符串 &S>m +m'  
V<ziJ7H/  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; am]$`7R5d  
W}50E.\#  
   HKEY hResult; Ze~^+ EE  
Rjqeuyj:  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); Ugp[Ugr  
Pe6MDWR  
  //得到欲修改键的句柄 v2 T+I]I  
Q"h/o"-h  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); MRMsw NQ  
E=_M=5]  
   RegCloseKey(hResult); Mm;kB/ 1  
Jlj=FA`  
  //修改注册表相应的值并释放键句柄 %oJ_,m_(  
CE=&ZHt9  
  } l&R~ I6^E  
5Q;Fwtm  
  2.给工具条指定用户特定的背景图案 e23}'qb  
Gc^w,n[E  
  void CJhfDlg::OnAddBackGround() NuRxkeEO  
6FFQoE|n  
  { KB0 HM  
O-[lL"T  
   if(PictureNum==0){ K?+iu|$ &  
*yN+Xm8o  
  AfxMessageBox("没有可应用的选项!"); jjN ]*{s  
'vq-~y5^#  
   return; $,ZBK6CT  
y'?ksow  
   } #2<.0@@ TI  
{*RyT.J  
   CString picture; .]SE>3  
l}:&}  
   int sel=m_PicList.GetCurSel(); TRW{` b[  
"CI#2tnL7  
   if(LB_ERR ==sel){ %SaC[9=?  
oJE~dY$Q  
   AfxMessageBox("请先选中要应用的选项!"); 5V;BimI  
gXBC= ?jl  
   return; 2Z;wU]  
g <S&sYF5  
   } 2I(b ad  
#EQwl6  
   m_PicList.GetText(sel,picture); Z7a~M3VnZ  
2+y<&[A8U  
  //取得所需加入背景图案文件路径 q,w8ca 4~y  
7D PKKvQ  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; FW~%xUSE5  
9. :r;HG  
   HKEY hResult; G;#-CT  
BQmHYar  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); CV&+^_j'k  
wQ]!Y ?I  
   //得到欲修改键的句柄 |3j'HN5S  
\0?^%CD+@  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); fG_.&!P  
5i `q  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); ^x8*]Sz#x  
TJjcX?:(  
   RegCloseKey(hResult); :)hS-*P  
rG)K?B~  
  //修改注册表相应的值并释放键句柄 /R\]tl#2j  
QT)D|]bH  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); wq+%O,  
gx,BF#8}  
  //得到欲修改键的句柄 mhU ?N  
U\dq Mp#Wy  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); {8`V5:  
6vy(@z  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); =pSuyM'  
<\40?*2  
   RegCloseKey(hResult); O1!hSu&  
0$Rl78>(  
  //修改注册表相应的值并释放键句柄 $ <'i+kK  
LE$_qX`L  
  } QlT{8uw )  
J=v" HeVm  
H?A&P4nZ  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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