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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 J0@m Ol  
To}L%)  
VC修改注册表的方法与函数 PgB=<#9  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 5G(y  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 MG8-1M  
^[&*B#(  
通过修改注册表实现IE换貌 6du"^g  
我们都知道,在注册表中,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() s_zZ@azJ  
Y91TF'  
  { AW+4Vm_!l  
Cla Yy58v  
   if(AddressNum==0){ p&Nw:S  
Kl(}s{YFn.  
  AfxMessageBox("没有可应用的选项!"); 8Ral%I:gr  
;f?OT7>kN  
   return; M[<O]p6  
t^8#~o!%  
   } RZOk.~[v  
~>>o'H6  
   CString address; tI.(+-q  
GS8,mQ8l*l  
   int sel=m_address1.GetCurSel(); bCd! ap+#  
WVy"MD  
   if(LB_ERR ==sel){  P/nXY  
Sl:\5]'yJ  
  AfxMessageBox("请先选中要应用的选项!"); 4z#CkT  
?B@hCd)  
   return; 9tl Fbu  
QHP^1W`  
   } gJs~kQU  
`'0opoQRe  
   m_address1.GetText(sel,address); pRMM1&H  
=\CbX  
  //取得所需加入的网址字符串 9nM {x?  
"D3JdyO_S  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; !Z%QD\knY  
@m6pAo4P  
   HKEY hResult; CtjjN=59  
qpp:h_E  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); :w:5;cm V  
YV! !bI  
  //得到欲修改键的句柄 y"t5%Iv  
{sX*SbJt  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); ? 1Z\=s  
:JW~$4  
   RegCloseKey(hResult); O~'1)k>  
Bfi9%:eG  
  //修改注册表相应的值并释放键句柄 KC}B\~ +  
~+CNED0z+  
  } 8f8+3  
KO{}+~,.6  
  2.给工具条指定用户特定的背景图案 Kz$Ijj  
~\ie/}zYj  
  void CJhfDlg::OnAddBackGround() ip1jY!   
%}'sFu m`  
  { F4bF&% R  
gMHH3^\VH)  
   if(PictureNum==0){ 3vrQY9H>  
tG%R_$*  
  AfxMessageBox("没有可应用的选项!"); ~Ja>x`5  
jVfC4M7 ,  
   return; 1/HPcCsHb  
uA}asm  
   } Ls|;gewp  
yMo@ka=v  
   CString picture; M{~eI  
>V;<K?5B`W  
   int sel=m_PicList.GetCurSel(); t{?_]2vl  
@M,KA {e  
   if(LB_ERR ==sel){ Rw$ @%o%  
[K"v)B'  
   AfxMessageBox("请先选中要应用的选项!"); >!bYuVHA  
U$Ew,v<  
   return; /Zm@.%.  
<a$cB+t  
   } YRC`2)_'  
HF47Lc*c  
   m_PicList.GetText(sel,picture); W_iP/xL  
JmY"Ja,&  
  //取得所需加入背景图案文件路径 U(J?Q  
b~#rUOXb8?  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; hR= 4w$  
4SG[_:+!  
   HKEY hResult; 72v 9S T  
n`^</0  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); (TnYUyFP`  
v- {kPc=:#  
   //得到欲修改键的句柄 m$@CwQj  
k] f 7 3r  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); OW #pBeX99  
'}!dRpx  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); vW]BOzK  
$&a`zffG  
   RegCloseKey(hResult); D_, 2z  
SKcAZC  
  //修改注册表相应的值并释放键句柄 q=[0`--cd  
#p_ ~L4iW  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); iqOd]H]v  
rH-_L&  
  //得到欲修改键的句柄 kkd<CEz2IM  
xX|-5cM;  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); 9ykmz (  
sq<y2j1oF  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); lJU[9)Q_  
i$%V)pH~F  
   RegCloseKey(hResult); ;dPLi4=o  
Ay56@_d2  
  //修改注册表相应的值并释放键句柄 i<@|+*>M  
M4DRG%21  
  } L[O+9Yh  
~Q6ufTGhpM  
C w$y  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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