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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 &C CHxjsKR  
1v>  
VC修改注册表的方法与函数 ~ra#UG\Y8  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 6RR4L^(m  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 4`?sE*P@`  
~)WfJ  
通过修改注册表实现IE换貌 #L|JkBia  
我们都知道,在注册表中,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() \VoB=Ac&  
cq+nWHqF{J  
  { ?6_"nT*}  
Ah(\%35&  
   if(AddressNum==0){ Ak<IHp^Q  
:u[ oc.  
  AfxMessageBox("没有可应用的选项!"); H>gWxJ 5  
b'1/cY/!  
   return; yffU% )  
?CcR 7l  
   } GapX$Jb,p  
zav*  
   CString address; TmRrub  
HV#?6,U}  
   int sel=m_address1.GetCurSel(); O>)n*OsS  
G2U5[\  
   if(LB_ERR ==sel){ !UUmy% 9  
J)#5 9a  
  AfxMessageBox("请先选中要应用的选项!"); xfbK eS8  
bxPY'&  
   return; 3n}s CEt=  
+MOe{:/6  
   } n.;5P {V1  
?15POY ?Z  
   m_address1.GetText(sel,address); uFA|r X  
. }-@;:yh  
  //取得所需加入的网址字符串 mGM inzf  
te!]9rR  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; c0,gfY%sI$  
F3H:I"4  
   HKEY hResult; Zu [?'  
b.w(x*a  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); '&_y*"/c  
Up1$xLSl  
  //得到欲修改键的句柄 c(_oK ?  
os "[Iji  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); ?%8})^Dd>4  
Q(!}t"u  
   RegCloseKey(hResult); Kq@m?h  
|}]JWsuB  
  //修改注册表相应的值并释放键句柄 g0; &/;"  
`E4!u=%  
  } g:uaI  
ctwhfS|Y0  
  2.给工具条指定用户特定的背景图案 + !E{L  
((hJmaq  
  void CJhfDlg::OnAddBackGround() .SRuyioF&  
Le#E! sU  
  { vV&AG1_Mv  
4cVs(`g^  
   if(PictureNum==0){ R~x;X3  
x]mye  
  AfxMessageBox("没有可应用的选项!"); /4wm}g9  
vo}_%5v8  
   return; +QCU]Fozk  
=ihoVA:|  
   } 8KGv?^M 6W  
O>o}<t7  
   CString picture; |GVGny<  
&EbD.>Ci  
   int sel=m_PicList.GetCurSel(); 5,=B1  
anKb  
   if(LB_ERR ==sel){ X&FuqB  
aQym= 6 %e  
   AfxMessageBox("请先选中要应用的选项!"); bdsHA2r`s  
tc49Ty9$[  
   return; j4 &  
c}I8!*\  
   } Wj f>:\ w  
cQ8$,fo  
   m_PicList.GetText(sel,picture); _n Iqy&<  
4LB9w 21  
  //取得所需加入背景图案文件路径 P*"AtZuY]  
JK^B+.  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; Y/eN)  
)2<B$p  
   HKEY hResult; ]%Q]C 8[C  
71n uTE%!  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); i"\AyKiJ  
P/1UCITq}  
   //得到欲修改键的句柄 |<+|Du1  
L]L~TA<D9i  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); +(h6{e%)  
Ymk4Cu.s  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); <>5:u  
OV@h$fg  
   RegCloseKey(hResult); l]58P  
Z+h7 0,|  
  //修改注册表相应的值并释放键句柄 ja,L)b:  
p#8LQP~0$  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); P20]>Hg  
0F0(]7g^  
  //得到欲修改键的句柄 %]:vT&M  
^?S@v1~7d  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); >I66R;  
=ZJ?xA8  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); U~B}vt  
KiRt'  
   RegCloseKey(hResult); @)juP- o%  
2Ws/0c  
  //修改注册表相应的值并释放键句柄 dc@wf;o  
s2' :&5(  
  } 4f@\f7 \  
|uBot#K|  
O^="T^J  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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