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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 jr=9.=jI8k  
!Y ,7%  
VC修改注册表的方法与函数 AS7L  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 Az&>.*  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 \N9=13W<lK  
P_(8+)ud-  
通过修改注册表实现IE换貌 q&25,zWD  
我们都知道,在注册表中,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() X' `n>1z  
=Hg!@5]H  
  { mtmC,jnD  
l7|z]v-  
   if(AddressNum==0){ qX ,q*hr-  
XQo\27Fo  
  AfxMessageBox("没有可应用的选项!"); ;|q<t  
=W~7fs  
   return; \O5L#dc#  
Anz{u$0M[  
   } qYK^S4L  
MgXZN{  
   CString address; o701RG ~)  
csy6_q(  
   int sel=m_address1.GetCurSel(); MTu\T  
Sq5,}oT_{j  
   if(LB_ERR ==sel){ '(.5!7?Qc  
h.edb6  
  AfxMessageBox("请先选中要应用的选项!"); TTXF r  
w?ugZYwX*  
   return; NM{)liP ;8  
_4by3?<c  
   } J :O!4gI  
cYA:k  
   m_address1.GetText(sel,address); e$[O J<t  
, Y:oTo=~  
  //取得所需加入的网址字符串 ,Kv6!ib6Q  
# EvRm  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; 7m2iL#5[  
uj8saNu  
   HKEY hResult; 287j,'vR  
^B<-.(F  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 4fi4F1f  
mkSu $c  
  //得到欲修改键的句柄 A (2 0+  
r8EJ@pOF2w  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); @Tu`0 =8  
" .7@  
   RegCloseKey(hResult); L1SX2F8  
?w:\0j5 ~  
  //修改注册表相应的值并释放键句柄 k4'] q  
i]ZGq7YJ%  
  } U1YqyG8  
.RroO_H   
  2.给工具条指定用户特定的背景图案 Cj= R\@  
<f>77vh0  
  void CJhfDlg::OnAddBackGround() Y2L{oQ.C2  
NfoHQU <n  
  { G<CD 4:V  
#:?:gY<  
   if(PictureNum==0){ BZ?w}%-MO  
JN8Rh  
  AfxMessageBox("没有可应用的选项!"); aT,WXW*  
y4kn2Mw;  
   return; 7J);{ &x9h  
Oe Q[-e  
   } -HF?1c  
A|"T8KSMB  
   CString picture; v?He]e'  
-5*OSA:8x  
   int sel=m_PicList.GetCurSel(); _ s 3aaOL  
lV'?X%  
   if(LB_ERR ==sel){ 1K/HVj+'.  
-C2!`/U  
   AfxMessageBox("请先选中要应用的选项!"); #w;"s*  
n*[ZS[I  
   return; 3eUi9_s+  
)<QX2~m<  
   } ~>@~U]  
-8)Hulo/{U  
   m_PicList.GetText(sel,picture); &b (*  
/` M#  
  //取得所需加入背景图案文件路径 v~OMm \  
;r@=[h   
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; ,a>Dv@$Y  
wqG#jC!5  
   HKEY hResult; ]y#'U  
ndFVP;q  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); '-"[>`[q  
Z` kVyuQ  
   //得到欲修改键的句柄 oaj.5hM  
NnAIL;WS  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); E:qh}wY  
kI"9T`owR  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); ! >F70  
GbLHzw  
   RegCloseKey(hResult); ! VT$U6  
E]Mx<7;\.  
  //修改注册表相应的值并释放键句柄 ICz:>4M-dn  
"`;-5dg  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); LGc8w>qE  
]\rQ{No  
  //得到欲修改键的句柄 ]EK(k7nH  
.c>6}:ye  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); 9 m8KDB[N  
%oqKpD+  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); Ko&4{}/  
1 V]ws}XW  
   RegCloseKey(hResult); /[?} LrDO  
P<>NV4  
  //修改注册表相应的值并释放键句柄 &j~9{ C  
r0nnmy]{d  
  } @q!T,({kx  
zsuqRM "  
|[~ S&  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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