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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 SGLU7*sfd  
{60U6n  
VC修改注册表的方法与函数 eh6=-  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 ^" UZ.@sq'  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 k4~2hD<|  
u_%L~1+'  
通过修改注册表实现IE换貌 z~RE}k  
我们都知道,在注册表中,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() {} Zqaf  
+nQp_a1{9%  
  { n4Q ^   
^[hx`Rh`t  
   if(AddressNum==0){ 03dmHg.E!E  
&^K,"a{  
  AfxMessageBox("没有可应用的选项!"); _h P7hhR  
7^]KQ2fF 8  
   return; nW_cjYS%  
\2y [Hy?  
   } 2j-^F  
T5+9#  
   CString address; bG!/%,s  
:Mnl1;oh  
   int sel=m_address1.GetCurSel(); 7SJtW`~  
3|1v)E  
   if(LB_ERR ==sel){ h9l 6AnbJ  
6{?B`gm7g  
  AfxMessageBox("请先选中要应用的选项!"); C.?~D*Q  
oYrg;]H  
   return; ze#r/j;sw  
'"]U+aIg  
   } (Ujry =f  
7) Qq  
   m_address1.GetText(sel,address); Amj'$G|+hj  
;a~ e  
  //取得所需加入的网址字符串  t'e5!Ma  
wp>L}!  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; \~I>@SG2W+  
G57c 8}\4  
   HKEY hResult; G9r~O#=gy  
d&t,^Hj  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); R b=q #  
k[]2S8K2  
  //得到欲修改键的句柄 ix_&<?8  
zEs:OOM  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); fnJt8Y4  
P?j;&@$^e  
   RegCloseKey(hResult); YaAOP'p  
Ew*SA  
  //修改注册表相应的值并释放键句柄 ({WV<T&  
CsiRM8  
  } tk!5"`9N  
J)= "Im)  
  2.给工具条指定用户特定的背景图案 ^.@F1k  
kJ.0|l0  
  void CJhfDlg::OnAddBackGround() 0K^?QM|S  
EEj.Kch}4  
  { sc$I,|d2  
@ x5LrQ_`r  
   if(PictureNum==0){ O#x=iZI  
OzUo}QN  
  AfxMessageBox("没有可应用的选项!"); D7v_ <  
aQglA  
   return; s-JS[  
lHc9D  
   } yUEvva  
!p{CsR8c  
   CString picture; ;_p!20.(  
2[g kDZ  
   int sel=m_PicList.GetCurSel(); f}w_]l#[G  
K aNO&%qX  
   if(LB_ERR ==sel){ ZP9x3MHe  
+PKd </*]  
   AfxMessageBox("请先选中要应用的选项!"); 7,5Bur  
CRPE:7,D  
   return; <,,X\>B  
FPukV^  
   } F $1f8U8  
kxt/I<cs  
   m_PicList.GetText(sel,picture); c]R27r E  
 N}KL'  
  //取得所需加入背景图案文件路径 ^JAp#?N^9  
8QQh1q2  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; nt$q< 57  
!uqp?L^;  
   HKEY hResult; %'.3t|zH  
zQaD&2 q  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); C{OkbE"Vym  
s%^@@Dk  
   //得到欲修改键的句柄 e@7UL|12  
du_~P"[  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); L"}tJM.d  
IO<Ds#(  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); U;t1 K  
8T88  
   RegCloseKey(hResult); V E?Aa  
d:=Z<Y?d/  
  //修改注册表相应的值并释放键句柄 1H \  
aATNeAR  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); C!)ZRuRv  
YFP<^y=  
  //得到欲修改键的句柄 a] 7nK+N  
<."KejXg-  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); /h9v'Y}c  
4))N(m%3F  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); bD. KD)5  
HJJ; gTj  
   RegCloseKey(hResult); t8M\  
]EdZ,`B4  
  //修改注册表相应的值并释放键句柄 y% O^Zm1  
0[E \h   
  } ~bsdy2&/q  
F ESl#.}  
U7HfDDh  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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