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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 AQU: 0  
JNCtsfd  
VC修改注册表的方法与函数 ]Y! Vyn  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 #$T"QL@  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 md LJ,w?{  
< R%6L&  
通过修改注册表实现IE换貌 \>azY 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() 1caod0gor  
[m&ZAq  
  { q9]L!V 9Rv  
7u0R=q  
   if(AddressNum==0){ r}Av"  
HaUo+,=  
  AfxMessageBox("没有可应用的选项!"); % E_{L  
@y&,e,3!  
   return; X}^gmu<Vla  
&h[}5  
   } eZ$1|Sj]j  
{-qTU6  
   CString address; k= 1+mG  
Jtk(yp{Zz  
   int sel=m_address1.GetCurSel(); [p<[83' ]  
~]+  jn  
   if(LB_ERR ==sel){ e:occT  
&cE,9o%FZ  
  AfxMessageBox("请先选中要应用的选项!"); a}hM}U!  
{627*6,  
   return; z9w.=[Io  
Uwa1)Lwn  
   } (j"MsCwE  
5aQg^f%\  
   m_address1.GetText(sel,address); yt,;^o^  
fdHxrH >*  
  //取得所需加入的网址字符串 y5h[^K3  
oPZ4}>uV  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; y Dw!u[:  
sR nMBW.  
   HKEY hResult; X.|0E87  
$4,6&dwg  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult);  #0H[RU?  
l))IO`s=_  
  //得到欲修改键的句柄 63$m& ]x  
essW,2,rjC  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); ;Bi{;>3  
?Qk#;~\yB  
   RegCloseKey(hResult); )CQ}LbXZy  
3Re\ T  
  //修改注册表相应的值并释放键句柄 E v#aMK  
1^dWmxUZH  
  } [hbIv   
Wno5B/V  
  2.给工具条指定用户特定的背景图案 7C^ nk z  
OSk9Eb4ld  
  void CJhfDlg::OnAddBackGround() h (2k;M^s  
gp2)35  
  { PD4E& k  
JnJz{(c  
   if(PictureNum==0){ KYN{iaj  
}FVX5/.'  
  AfxMessageBox("没有可应用的选项!"); g7i6Yj1  
l0)uu4|  
   return; (7,Awf5D~  
wYG0*!Vj  
   } \>k+Oyj  
7 i/Cax  
   CString picture; c @R6p+  
"dTXT  
   int sel=m_PicList.GetCurSel(); ~yN,FpD  
yjzNU5F  
   if(LB_ERR ==sel){ Xi.?9J`@  
]+P &Y:   
   AfxMessageBox("请先选中要应用的选项!"); W9"I++~f  
*6tN o-)^  
   return; C"<@EMU9  
t`B']Ac;T  
   } 4uA^/]ygo  
:~Y$\Ww(~  
   m_PicList.GetText(sel,picture); R3A^VE;qP  
XT"c7]X  
  //取得所需加入背景图案文件路径 Gy%e%'  
1O4"MeF  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; 0 HmRl  
Q2Rj0E`  
   HKEY hResult; w3D_ c~  
K-3 _4As  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); HxaUVg0  
z^.0eP8\j  
   //得到欲修改键的句柄 y rk#)@/m  
~JpUO~i/  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); 5@ug1F&   
wn&2-m*a  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); mZyTo/\0  
.EO1{2=  
   RegCloseKey(hResult); L8ke*O$  
q0wVV  
  //修改注册表相应的值并释放键句柄 (6nw8vQ  
HenJlo  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); ~@lNBF  
X[<9+Q-&  
  //得到欲修改键的句柄 at!?"u  
:F&WlU$L  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); )w-?|2-w5  
CCV~nf  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); Rd)QVEk>SD  
UZ#2*PH2E  
   RegCloseKey(hResult); >YLm]7v}  
s9iM hCu|  
  //修改注册表相应的值并释放键句柄 \BL9}5y  
@#apOoVW>  
  } Sls> OIc  
/Ny&;Y  
+Sfv.6~v  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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