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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 g\IwV+iDf  
"i*gJFW|  
VC修改注册表的方法与函数 ^/x\HGrw  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 Z^_zcH'  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 ,]n~j-X  
0&2`)W?9  
通过修改注册表实现IE换貌 p_EM/jI,  
我们都知道,在注册表中,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() uAoZ&8D6  
@^g~F&Ta  
  {  H ="I=}  
D$NpyF.87  
   if(AddressNum==0){ `(I$_RSE")  
*uy<Om  
  AfxMessageBox("没有可应用的选项!"); C 'Y2kb  
<Kl$ek8  
   return; zE/\2F$  
8`]yp7ueS  
   } DpT$19Q+  
i*!2n1c[  
   CString address; B/!/2x  
)DlKeiK  
   int sel=m_address1.GetCurSel(); fYh<S  
N&Ho$,2s  
   if(LB_ERR ==sel){ )t\aB_ =  
K" X" 2c1o  
  AfxMessageBox("请先选中要应用的选项!"); M,bs`amz  
vEGI  
   return; 9zIqSjos"  
|z:4T%ES  
   } {c*5 )x!  
?0+g.,9  
   m_address1.GetText(sel,address); e :C4f  
nf1 `)tXG  
  //取得所需加入的网址字符串 {[L('MH2|  
yq^Ma  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; n%4/@M  
{0-rnSjC  
   HKEY hResult; x)eoz2E1  
MPw?HpM  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); _jg tZ  
$7i[7S4  
  //得到欲修改键的句柄 Nv6"c<(L=  
<dr2 bz  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); D&~%w!  
Vry_X2  
   RegCloseKey(hResult); IvI..#EzG  
\/V#,O  
  //修改注册表相应的值并释放键句柄 X:g#&e_  
'V&Uh]>  
  } $ b53~  
r`h".=oD  
  2.给工具条指定用户特定的背景图案 F*>#Xr~/  
"h7Dye  
  void CJhfDlg::OnAddBackGround() =]/<Kd}A.  
jF/S2Ty2  
  { 0'YP9-C3  
g]`YI5  
   if(PictureNum==0){ K' <[kh:cl  
_5x]BH6f  
  AfxMessageBox("没有可应用的选项!"); ,w BfGpVb  
Zzz94`  
   return; <1<xSr  
A=p'`]Yld  
   } \4C[<Gbx$(  
u |.7w 2  
   CString picture; u*,>$(-u  
c/v|e&q  
   int sel=m_PicList.GetCurSel(); o; U!{G(X  
N3@[95  
   if(LB_ERR ==sel){ g-"GZi  
c$tX3ug6I  
   AfxMessageBox("请先选中要应用的选项!"); :XG~AR /  
%2g<zdab  
   return; 1<_/Qu>V  
AYN dV(  
   } ,u)jZ7  
H6|eUU[&  
   m_PicList.GetText(sel,picture); =adHP|S  
IAq o(Qm  
  //取得所需加入背景图案文件路径  Y#~A":A  
d%-/U!z?  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; %d(= >  
8"ZS|^#  
   HKEY hResult; .5}Gt>4XM  
57gt"f  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 4K? \5(b  
JPng !tvR  
   //得到欲修改键的句柄 8UqH"^9.Q7  
xSSEDfq  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); tpO '<b  
,-8 -Y>[  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); Q9xb7)G  
HTGLFY(&  
   RegCloseKey(hResult); !U1 vW}H  
5r~jo7  
  //修改注册表相应的值并释放键句柄 `8RKpZv&  
P*~ vWYH9  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); AovBKB $  
zp<B,Ls  
  //得到欲修改键的句柄 b.@4yW  
m_@XoS yxI  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); q^Oj/ws  
dIYf}7P  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); ov;^ev,(  
+jF2 {"  
   RegCloseKey(hResult); c"Vp5lo0  
Ro"'f7(v.  
  //修改注册表相应的值并释放键句柄 PoPR34] ^J  
LbRQjwc]W  
  }  HG?+b  
i$PO#}  
#ye`vD  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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