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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 VK ?,8Y  
}"xC1<]  
VC修改注册表的方法与函数 $f C=v  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 9B*SWWAj  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 Bxm^Arc>  
V (X)Qu@R  
通过修改注册表实现IE换貌 I{1w8m4O6  
我们都知道,在注册表中,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() ?}lCS7&  
q)!{oi{x(  
  { /{qr~7k,oQ  
L:B&`,E  
   if(AddressNum==0){ C{Npipd}v  
V?5_J%  
  AfxMessageBox("没有可应用的选项!"); l"ih+%S  
dmE-W S  
   return; l<qxr.X  
ICV67(Ui  
   } YR[Ii?  
T8qG9)~3  
   CString address; O'5(L9,  
;%U`lE0  
   int sel=m_address1.GetCurSel(); ikm4Y`c  
^. Pn)J  
   if(LB_ERR ==sel){ X\YeO> C  
>xH3*0 Lp  
  AfxMessageBox("请先选中要应用的选项!"); F /t;y\)  
+%>L;'L ^X  
   return; R$w=+%F  
LY^BkH'  
   } Z/ThY bk  
VDQ&Bm JE  
   m_address1.GetText(sel,address); tpCEWdn5  
%*r P d>*  
  //取得所需加入的网址字符串 TYLf..i<  
s'5 jvlG  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; wePMBL1P*  
:!aFfb["  
   HKEY hResult; &=s{ +0  
%0"o(y+zt  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); (T`x-wTl  
=zbrXtp,  
  //得到欲修改键的句柄 a_Xh(d$  
/=-E`%R}!  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address);  T>LtN  
\W$>EH  
   RegCloseKey(hResult); |r3eq4$Am  
I@x*>  
  //修改注册表相应的值并释放键句柄 _39b8s {  
'3<YZWS  
  } Lp{l& -uQ  
0 J ANj  
  2.给工具条指定用户特定的背景图案 [.6uw=;o  
EcP"GO5  
  void CJhfDlg::OnAddBackGround() 6:h!gY  
wdp 4-*  
  { &Cdd  
s[Njk@y,  
   if(PictureNum==0){ Ak4iG2  
W]reQ&<Z  
  AfxMessageBox("没有可应用的选项!"); zzPgLE55  
2#|Q =rWB  
   return; $r_z""eOc  
I-+D+DhRx  
   } N!btj,vx  
U[Z1@2zLx  
   CString picture; WXGLo;+>I  
i%-c/ lop  
   int sel=m_PicList.GetCurSel(); hp[8.Z$7  
bD49$N?>  
   if(LB_ERR ==sel){ |n* I}w^  
?K}/b[[0v  
   AfxMessageBox("请先选中要应用的选项!"); vY.p~3q :)  
:a`l_RMU  
   return; Xf$,ra"  
N!HiQ  
   } v`no dI  
LoNz 1KJL  
   m_PicList.GetText(sel,picture); tohYwXN  
Hh;7 hY\  
  //取得所需加入背景图案文件路径 ;2& (]1X  
Q%KS$nP9  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; m-ZVlj  
:@kSDy+*Q  
   HKEY hResult; &4p:2,|r9  
\}G/F!  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 5qUyOkI  
8<IO X  
   //得到欲修改键的句柄 `) K1[&  
.PxtcC.K  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); }JvyjE  
.}]5y4UQ.  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); N{oD1%  
C3WqUf<8`{  
   RegCloseKey(hResult); lZ E x0  
WM*7p;t@)  
  //修改注册表相应的值并释放键句柄 Ns&SZO  
%'@&j2j>  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); C\ 9eR  
hb[K.`g  
  //得到欲修改键的句柄 XCQ =`3f  
+*F ;l\R  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); bIwt#:v  
265df Y9Pu  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); u9sffX5x[J  
;R|5sCb/m  
   RegCloseKey(hResult); mWCY%o@  
*7DQ#bD  
  //修改注册表相应的值并释放键句柄 \*a7DuVw  
&5c)qap;n  
  } iv:[]o  
O,XVA  
2 ;U(r: ]  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八