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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 ov|d^)'  
I"xo*}  
VC修改注册表的方法与函数 O6@j &*jS  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 6 [k\@&V-  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 R1Pk TZP&  
;[(oaK@+n  
通过修改注册表实现IE换貌 a a<8,;  
我们都知道,在注册表中,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() } F E>|1  
3W V"U  
  { x-XD.qh7Hr  
QZ!Y2Bz(4  
   if(AddressNum==0){ O8^A5,2@3>  
_,kj:R.  
  AfxMessageBox("没有可应用的选项!"); 7 G)ZN{'  
tE.FrZS  
   return; P)"noG_'i  
>d@&2FTO  
   } i|c'Lbre`  
ht|z<XJ  
   CString address; vp1941P  
M\vwI"  
   int sel=m_address1.GetCurSel(); rW<KKGsRWQ  
&)2i[X  
   if(LB_ERR ==sel){ 60P<4  
$yN{-T"  
  AfxMessageBox("请先选中要应用的选项!"); o\BOL3H  
UMv.{iEj  
   return; ,Z aRy$?  
Gq+z/Be  
   } Y)1PB+  
PvzcEV  
   m_address1.GetText(sel,address); B|Du@^$  
dW)B1iUo!  
  //取得所需加入的网址字符串 <qtr   
B#exHf8  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; y?rPlA_  
u6?Q3 bvI  
   HKEY hResult; yZ @"\Z!  
:uP,f<=)K  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); i=ea ?eT`  
YA''2Ii  
  //得到欲修改键的句柄 O $LfuL  
iyA'#bE-  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); z[LNf.)}  
? 8)'oMD  
   RegCloseKey(hResult); Z.c'Hs+;  
t=rEt>n~L  
  //修改注册表相应的值并释放键句柄 I+BHstF5um  
bG7O  
  } oin$-i|Xp!  
8N!b>??  
  2.给工具条指定用户特定的背景图案 "K  ~  
gRrL[z  
  void CJhfDlg::OnAddBackGround() 9l|@v=gw.  
IW>T}@ |  
  { +GG9^:<yr  
dOa+(fMe  
   if(PictureNum==0){ >5_2_Y$"  
ATJWO 1CtB  
  AfxMessageBox("没有可应用的选项!"); 2!0c4a^z  
?b*s. ^  
   return; :a^t3s  
C^3 <={  
   } .GV;+8HzS  
1qf!DMcdZ  
   CString picture; xj[(P$,P  
ap{2$k ,  
   int sel=m_PicList.GetCurSel(); 7c~u=U"  
J,zO2572u  
   if(LB_ERR ==sel){ e0J6Ae4V[  
(ZY@$''  
   AfxMessageBox("请先选中要应用的选项!"); vq!_^F<  
 +QE^\a  
   return; <x&%~6j  
*X4PM\ck  
   } r\blyWi  
dlG=Vq&Y  
   m_PicList.GetText(sel,picture); #( 1j#\  
%zSuK8kxV  
  //取得所需加入背景图案文件路径 {'AWZ(  
;\[(- )f!=  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; i| ZceX/  
<}sq?Sfq!  
   HKEY hResult; l2&`J_"  
8P"_#M?!  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); MdXchO-Lyc  
v$=QA:!U  
   //得到欲修改键的句柄 XEdzpkB  
IXb}AxB f  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); i,|0@Vy  
gl]E_%tH  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); eYC^4g%l(  
EZYBeqv  
   RegCloseKey(hResult); @]![o %  
=+x yI  
  //修改注册表相应的值并释放键句柄 ~u.T-0F  
TO-nD>  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); lhi_6&&[8  
Fh*j#*oe  
  //得到欲修改键的句柄 sg8/#_S1i  
@o-B{ EH8  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); -_<}$9lz  
(?H0+zws^  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); l9Q(xuhv  
@?[1_g_'P  
   RegCloseKey(hResult); jr)7kP@  
[y0O{,lI  
  //修改注册表相应的值并释放键句柄 Iu{kPyx  
8&Myva  
  } *#TYqCc+g  
cS.-7  
}/,HM9Ke  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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