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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 y87oW_"h  
B<oBo&uA  
VC修改注册表的方法与函数 'e:(61_  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 +~f=L- >  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 -~v1@  
ndS8p]P&o(  
通过修改注册表实现IE换貌 TeNPuY~WP  
我们都知道,在注册表中,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() 17F<vo>l%  
#dDM "s  
  { _kT{W]   
@^Yr=d ba  
   if(AddressNum==0){ a9y+FCA  
t$g@+1p4  
  AfxMessageBox("没有可应用的选项!"); 3 @%XR8ss  
<d~si^*\ch  
   return; ?tx."MZ  
j9~lf  
   } S pk8u4  
xq<X:\O  
   CString address; cV:Ak~PKl  
|&U{ z?  
   int sel=m_address1.GetCurSel(); 2B"&WKk  
~}RfepM  
   if(LB_ERR ==sel){ y-N]{!  
Fx )BMP  
  AfxMessageBox("请先选中要应用的选项!"); fs0EbVDF  
vX|5*T`(  
   return; \gR%PN  
k8z1AP  
   } -{A*`.[v  
D|$Fw5!^k6  
   m_address1.GetText(sel,address); y_r(06"z1  
n}/4em?  
  //取得所需加入的网址字符串 M< /  
@7K(_Wd  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; pT/z`o$#V  
'8=/v*j>?  
   HKEY hResult; :*Y2na)qQ  
N5.B"l  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); sW@_' Lw  
%"^8$A?>,k  
  //得到欲修改键的句柄 e%C_>  
{A'_5 X9  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); Z}S7%m  
H{hzw&dZ<P  
   RegCloseKey(hResult); YO9;NA{sH  
S?#6{rx  
  //修改注册表相应的值并释放键句柄 v1z d[jqk  
MI)v@_1d  
  } U=PTn(2  
^@^K <SVc  
  2.给工具条指定用户特定的背景图案 ?NR&3 q  
$4q$!jB5  
  void CJhfDlg::OnAddBackGround() LkXho>y  
33g$mUB  
  { Lg{M<Q)4  
\P7<q,OGS  
   if(PictureNum==0){ hkMVA  
?[7KN8$  
  AfxMessageBox("没有可应用的选项!"); EB VG@  
f+1@mGt  
   return; QD%!a{I  
q _Z+H4  
   } HI7w@V8Ed  
-5JN`  
   CString picture; (AZAQ xt  
glLoYRTi  
   int sel=m_PicList.GetCurSel(); %77uc9}  
d,toUI  
   if(LB_ERR ==sel){ l=ZD&uK  
d/!\iLF  
   AfxMessageBox("请先选中要应用的选项!"); mM:%-I\$   
;8a9S0eS  
   return; T^vhhfCUr  
+lxjuEiae  
   } >wb Uxl%{5  
*wx95?H0Z  
   m_PicList.GetText(sel,picture); ERia5HnoD,  
AEkjyh\  
  //取得所需加入背景图案文件路径 Da8 |eN}   
cQ |Q-S  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; G.`},c;A-  
'q?Y5@s  
   HKEY hResult; voQJ!h1  
uVTacN%X  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); #nw+U+qL  
zwz_K!229  
   //得到欲修改键的句柄 e;g7Ek3n  
@S:T8 *~}  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); FbRGfHL[  
#k?.dWZ!  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); p=odyf1hK  
)Xa_ry7  
   RegCloseKey(hResult); YmOj.Q&  
5z =}o/?  
  //修改注册表相应的值并释放键句柄 I]hjv  
U p6OCF  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); NfnPXsad  
@T:J<,  
  //得到欲修改键的句柄 VXW*LEk  
`!$6F:d_l  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); lv9Tq5C  
lX.-qCV"B  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); ,J,Rup">h  
No)0|C8:  
   RegCloseKey(hResult); at4JLbk  
eL~3CAV{  
  //修改注册表相应的值并释放键句柄 )[oP `Z  
%}e['d h  
  } r8?p6E  
4.^T~n G  
#:By/9}-  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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