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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 RfM uWo:  
,sU#{.(  
VC修改注册表的方法与函数 }1N $4@  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 A$w0+&*=  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 ~KtA0BtC  
X^pxu6nm-  
通过修改注册表实现IE换貌 ^g[,}t:/d  
我们都知道,在注册表中,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() <M//zXa  
Woo2hg-ti  
  { 86.LkwlqoH  
Qf?5"=:#  
   if(AddressNum==0){ UD 0v ia  
H[K(Tt4<&  
  AfxMessageBox("没有可应用的选项!"); Ib$*w)4:  
v&.`^ O3W  
   return; 1r %~Rm  
+Xa^3 =B  
   } hN~]$"@2  
N{lj"C]L  
   CString address; m~upTQz  
 ppwjr +  
   int sel=m_address1.GetCurSel(); QH_0U`3  
a,B2;4"  
   if(LB_ERR ==sel){ hWzjn5w3  
z0XH`H|~  
  AfxMessageBox("请先选中要应用的选项!"); 7N@4c   
"K.XoG4|  
   return; zvvF 9  
+3@d]JfMh  
   } D4CN%^?  
jafIKSD]%  
   m_address1.GetText(sel,address); D][e uB  
."N`X\  
  //取得所需加入的网址字符串 Pc= S^}+  
kG =nDy  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; ^LA.Y)4C2%  
6]GEn=t  
   HKEY hResult; F4!,8)}  
&e#>%0aS  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 5&&6e`  
(r&e|  
  //得到欲修改键的句柄 -EwtO4vLJ  
$!+t2P@d.5  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); RVlAWw(  
aJnZco6  
   RegCloseKey(hResult); IaxzkX_48  
"8p fLI  
  //修改注册表相应的值并释放键句柄 jU4*fzsZI  
0YMmWxV  
  } |!0R"lv'u  
fz)i9D@  
  2.给工具条指定用户特定的背景图案 d+9T}? T:*  
,zCrix 3  
  void CJhfDlg::OnAddBackGround() u )'l|Y  
P #_8$#G3  
  { B3p[A k  
j Hd <*  
   if(PictureNum==0){ %h "+J  
6bL"ZOEu  
  AfxMessageBox("没有可应用的选项!"); 9*?H/iN@p?  
T<p,KqH  
   return; 6Y#-5oE u/  
QK+s}ny  
   } G4!$48  
8"C;I=]8  
   CString picture; Jm%hb ,  
^1&xt(G  
   int sel=m_PicList.GetCurSel(); 8}Pd- .se  
fk(l.A$  
   if(LB_ERR ==sel){ OG# 7Va  
[zO    
   AfxMessageBox("请先选中要应用的选项!"); jGB2`^&d  
@!92Ok  
   return; dHU#Y,v  
.O\z:GrSZz  
   } P7IxN)b7  
L{>XT  
   m_PicList.GetText(sel,picture); )^&,[Q=i  
+vxU~WIV&  
  //取得所需加入背景图案文件路径 u8Ul +u  
NN<kO#c+2  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar";  E%g_O_  
 T)o)%Yv  
   HKEY hResult; O,Xf.O1c  
w%,Iy, G@  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); C9-90,  
"%+C@>`(  
   //得到欲修改键的句柄 U!@3['  
>@b7 0X!J]  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); Sd]`I)  
JGaS`fKSk  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); ;{]%ceetcu  
oB27Y&nO  
   RegCloseKey(hResult); CtbmX)vE  
<Bc J;X/  
  //修改注册表相应的值并释放键句柄 *iB_$7n`  
]Mv.Rul?~  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); .K(IRWuw  
A7.$soI\  
  //得到欲修改键的句柄 d+KLtvB%M  
+{ QyB  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); \WD}@6) ~  
#vJDb |z  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); zBWn*A[4  
4/S% eZB  
   RegCloseKey(hResult); =@b/Gl  
Qcu1&t\C  
  //修改注册表相应的值并释放键句柄 m#+0uZm(  
C?Dztkz  
  } wy&s~lpV,7  
:)+|q  
X:\r )  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录 或 注册
欢迎提供真实交流,考虑发帖者的感受
认证码:
验证问题:
10+5=?,请输入中文答案:十五