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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 jI7 x<=  
//BJaWq  
VC修改注册表的方法与函数 * @]wT'  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 <<u]WsW{C  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 `e<IO_cg  
&uRT/+18W3  
通过修改注册表实现IE换貌 O}zHkcL  
我们都知道,在注册表中,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() 7HH@7vpJ^  
iKE&yO3  
  { wg%Z  
t2)uJN`a$X  
   if(AddressNum==0){ ^3$U[u%q/{  
En9J7es_  
  AfxMessageBox("没有可应用的选项!"); z2YYxJ c&w  
IC'+{3.m8  
   return; \ YF@r7  
-LRx}Mb9  
   } fYy w2"  
'RKpMdoz  
   CString address; *sU,waX  
g $Y]{VM.J  
   int sel=m_address1.GetCurSel(); Ebs]]a>PO  
&,%n  
   if(LB_ERR ==sel){ g4=1['wW  
HJN GO[*g  
  AfxMessageBox("请先选中要应用的选项!"); r+ 8Tp|%  
X,l7>>L{g  
   return; qfl!>  
j[:70%X  
   } =t-Ud^3  
- @>]iBl  
   m_address1.GetText(sel,address); 7QTS@o-  
v\6.#>NQ  
  //取得所需加入的网址字符串 a%m )8N;C  
2QbKh)   
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; YU-wE';H6  
O713'i  
   HKEY hResult; oCOv 6(  
[>?|wQy>=  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); /c=8$y\%@  
?GNR ab  
  //得到欲修改键的句柄 <}~ /. Cx  
:j3'+% '2  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); 33lh~+C  
P?>:YY53  
   RegCloseKey(hResult); ,)xtl`fc  
;hq_}.  
  //修改注册表相应的值并释放键句柄 V)~b+D  
2*w`l|Sx  
  } `;}qjm0a  
Pzzzv^+  
  2.给工具条指定用户特定的背景图案 vo }4N[]Sb  
W895@  
  void CJhfDlg::OnAddBackGround() 83V\O_7j  
+sn0bi/rG  
  { &&<l}E  
,x&WE@tD |  
   if(PictureNum==0){ igTs[q=Ak  
l^bak]9 1  
  AfxMessageBox("没有可应用的选项!"); tE-bHu370  
 -V2`[k  
   return; 2<J2#}+ \  
W7|nc,i0\  
   } SbUac<  
C~>0K,C0^  
   CString picture; j-J/yhWO&  
C3=0 st$  
   int sel=m_PicList.GetCurSel();  ) 4t%?wT  
3; z1Hp2X  
   if(LB_ERR ==sel){ 6rE8P#  
!sI^Lh,Y  
   AfxMessageBox("请先选中要应用的选项!"); Y]6d Yq{k  
gAEB  
   return; 90abA,U@  
VgbT/v  
   } y]R+/  
*\:sHVyG(  
   m_PicList.GetText(sel,picture); = YO<.(Lu  
-XnIDXM  
  //取得所需加入背景图案文件路径 7fWZ/;p  
vAG|Y'aO@%  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; 0[Yks NNl1  
Y#9bM $x7  
   HKEY hResult; fS'` 9  
&QQ6F>'T  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); "u sPzp5  
0r$n  
   //得到欲修改键的句柄 D{d%*hlI 3  
'?I3&lYz{  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); 8]#J_|A6Z  
y~OP9Tg  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); EUrIh2.Z  
w?*79 u  
   RegCloseKey(hResult);  Jc]k\U  
/ioBc}]  
  //修改注册表相应的值并释放键句柄 7nxH>.,Q>  
hDg"?{  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); 4;32 f`  
Ke#Rkt  
  //得到欲修改键的句柄 g 6?y{(1  
^g2Vz4u  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); `l70i2xcj  
+S#Xm4  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); x@)cj  
}=|{"C  
   RegCloseKey(hResult); Z{ 9Io/  
yZoJD{'?Sw  
  //修改注册表相应的值并释放键句柄 "Il) _Ui  
|eye) E:  
  } D^s#pOZS  
w4Hq|N1-Y  
E}0g  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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