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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 QcG4~DEX4  
~7T]l1]W%  
VC修改注册表的方法与函数 *?%DdVrO@  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 jI!}}K)d  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 jD9 ^DzFx  
g|8G!7O  
通过修改注册表实现IE换貌 uqPagt<  
我们都知道,在注册表中,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() w$4fS  
Au08k}h<G  
  { Qp~O!9ph  
hSE\RX 9  
   if(AddressNum==0){ 8W Mhe=[  
C]K|;VQ  
  AfxMessageBox("没有可应用的选项!"); }-9  
}2;~':Mklz  
   return; k\X1`D}R  
-bT1Qh X  
   } JSCe86a7<E  
0L1NZY^!  
   CString address; Kf#9-.}?  
d-w#\ ^  
   int sel=m_address1.GetCurSel(); 1*<m,.$  
F1%-IBe  
   if(LB_ERR ==sel){ fvg jqiT  
C;#vW FE  
  AfxMessageBox("请先选中要应用的选项!"); V(n7hpS  
c.y8x  
   return; WrBiAh,  
;@ xSJqT  
   } aj;OG^(!2_  
[A99e`  
   m_address1.GetText(sel,address); .jW+\mIX  
H7!j5^  
  //取得所需加入的网址字符串 FY h+G-Y#  
Kt5;GUV  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; /f2HZfj  
~ _R 8; b  
   HKEY hResult; ^y"5pf SR  
WBdC}S }3t  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); #wn`choT'  
V*HkF T  
  //得到欲修改键的句柄 i|A0G%m]$  
qBL >C\V +  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); R]hilb'a  
{1a%CsCM  
   RegCloseKey(hResult); d 2f   
dNd(57  
  //修改注册表相应的值并释放键句柄 ;G!JKg  
NJ\ID=3l  
  } /~RY{ c@#L  
!Wn^B|  
  2.给工具条指定用户特定的背景图案 AP*Z0OFE  
zi M~V'  
  void CJhfDlg::OnAddBackGround() fHK`u'  
&|cg`m  
  { ?86q8E3;&  
_Ec9g^I10  
   if(PictureNum==0){ h8#14?  
>drG,v0qh  
  AfxMessageBox("没有可应用的选项!"); A#/O~-O^  
 vV5dW  
   return; ?J[m)Uo/ K  
36ygI0V_  
   } };{V]f 0  
d~#>.$Uu  
   CString picture; w"?H4  
\C<|yD  
   int sel=m_PicList.GetCurSel(); BllS3I}V  
$,Q0ay  
   if(LB_ERR ==sel){ AXbDCDA  
3.[ fTrzJ  
   AfxMessageBox("请先选中要应用的选项!"); (t$jb |Oa  
/Z':wu\  
   return; <UI^~Azc#  
1>5l(zK!9  
   } Aun X[X9  
L;jzDng<  
   m_PicList.GetText(sel,picture); K9\p=H^T7  
%ae|4u#b  
  //取得所需加入背景图案文件路径 OQl7#`G!H%  
mar6/*`I#+  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; =v-qao7xCV  
+hoZW R  
   HKEY hResult; HP/f`8  
LmCr[9/  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 'E_M, Y  
Wd9y8z;  
   //得到欲修改键的句柄 +MHsdeGU1W  
 Xaz`L  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); a| w.G "W  
$@WqM$  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); ;^fGQ]`4  
-L zx3"  
   RegCloseKey(hResult); Vp"=8p#k  
cOhx  
  //修改注册表相应的值并释放键句柄 S_ELZO#7  
>d/DXv 3  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); idG}p+(;  
45?aV@  
  //得到欲修改键的句柄 YB;q5[  
)uG7 DR  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); H YA<  
H]zi>;D  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); |"gg2p  
. N:& {$o:  
   RegCloseKey(hResult); |+-D@22 y  
Bsr; MVD  
  //修改注册表相应的值并释放键句柄 F'NX  
|8m2i1XG  
  } 7dg2-4  
`<cn b!]  
F\K&$5J{p  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
认证码:
验证问题:
10+5=?,请输入中文答案:十五