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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 Zcc7 7dRA  
%%wngiz\  
VC修改注册表的方法与函数 I%j]pY4  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 [%Dh0hOg  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 X^m @*,[s  
,gkWksl9  
通过修改注册表实现IE换貌 BTA2['  
我们都知道,在注册表中,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^s`dsG  
0U.Ld:  
  { DEfhR?v  
%A&g-4(  
   if(AddressNum==0){ ~7\`qH  
`C6,**`R$k  
  AfxMessageBox("没有可应用的选项!"); Xh~oDnP  
3],(oQq^  
   return; 0q1+5  
7 X~JLvN  
   } -/7@ A  
>M m.MNU  
   CString address; * _,yK-et  
LzB*d  
   int sel=m_address1.GetCurSel(); {+9t!'   
%a-fxV[  
   if(LB_ERR ==sel){ c Ct5m  
+fMW B  
  AfxMessageBox("请先选中要应用的选项!"); $VxuaOTyVZ  
;:)u rI?  
   return; q| *nd!y'  
%+ MYg^  
   } ; Oz p  
,fm{ krE  
   m_address1.GetText(sel,address); %Si3LQf  
}L5;=A']S  
  //取得所需加入的网址字符串 <g8{LG0  
<2+FE/3L  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; j8t_-sU9 i  
VF"c}  
   HKEY hResult; v[m1R'  
DEzL]1;P  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); q1%xk =8  
{JcMJZ3  
  //得到欲修改键的句柄 _x7>d:C  
~^eC?F(  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); d[ce3':z  
V4%7Xj  
   RegCloseKey(hResult); j0e1CSE  
M""X_~&I"  
  //修改注册表相应的值并释放键句柄 w6k^|."  
jATN):8W  
  } ?vP }#N!=d  
W4AFa>h  
  2.给工具条指定用户特定的背景图案 }e,*'mCC*  
C5#$NV99p  
  void CJhfDlg::OnAddBackGround() *>Zq79TG  
sVIw'W  
  { d!q)FRzi  
!2]G.|5/A  
   if(PictureNum==0){ 9t0NO-a  
&eX^ll  
  AfxMessageBox("没有可应用的选项!"); > bSQ}kXe  
,tOc+3Qz$  
   return; p \,PY  
zQ,ymf T  
   } #c2JWDH1F  
0o&7l%Y/  
   CString picture; q^kOyA.  
sMqAuhw$.  
   int sel=m_PicList.GetCurSel(); l,M?   
;z^C\=om  
   if(LB_ERR ==sel){  jQ?6I1o  
ais"xm<V  
   AfxMessageBox("请先选中要应用的选项!"); r}])V[V  
09rbu\h  
   return; L [7Aa"R  
5?4jD]Z  
   } 0N*~"j;r#M  
d+Jj4OnP  
   m_PicList.GetText(sel,picture); 5i1Xumh 4  
4P}<86xk  
  //取得所需加入背景图案文件路径 |B.tBt^  
XQL]I$?  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; WMd5Y`y  
+}0/ %5 =1  
   HKEY hResult; keWqL]  
bIahjxd:  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); ojZvgF  
]l4# KI@  
   //得到欲修改键的句柄 ^iaG>rvA  
Aaq!i*y  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); &'-ze,k}  
E"$AOM?(*i  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); %B'*eBj~fw  
op|/_I$  
   RegCloseKey(hResult); !Wz%Hy:ZK  
juQQ  
  //修改注册表相应的值并释放键句柄 V8.o}BWY  
A296 f(  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); 9My |G)M6  
(:]on^|  
  //得到欲修改键的句柄 0W I3m2i  
u*J,3o} <  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); R3SAt-IE  
`Al( AT(p  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); \-B8`ah  
Una7O]  
   RegCloseKey(hResult); {m/h3hjFa  
fQ[ GN}k  
  //修改注册表相应的值并释放键句柄 'X$2gD3c9  
P~y%  
  } ], HF) 21  
Ht Z3n"2  
2#bpWk9  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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