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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 b gc<)=  
_6-/S!7Y\  
VC修改注册表的方法与函数 @`y?\fWh  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 gJ GBD9wC  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 <]e;tF)+  
'Rh>w=wB'  
通过修改注册表实现IE换貌 9hs{uxwuEE  
我们都知道,在注册表中,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() 7SY->-H8  
rLw[y$2  
  { dzv,)X  
~"r wP=<}  
   if(AddressNum==0){  ISnS;  
x&fCe{5  
  AfxMessageBox("没有可应用的选项!"); sBXk$  
~Ro:mH: w  
   return; =ci5&B?  
T4}?w  
   } o&F.mYnqX  
O+o%C*`K  
   CString address; HToN+z%w3H  
zkMO3w>  
   int sel=m_address1.GetCurSel(); qp_ `Fj:  
/GSI.tO  
   if(LB_ERR ==sel){ JdYF&~  
|16BidWi  
  AfxMessageBox("请先选中要应用的选项!"); ^R'!\m|FR  
'TN{8~Gt*  
   return; n#4J]Z@  
4%v+ark8  
   } ,WDAcQ8\  
muX4Y1M_  
   m_address1.GetText(sel,address); 5WJkeG ba  
pvR& ~g  
  //取得所需加入的网址字符串 4b(irDT3F  
Mjvso0zj  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; iCSM1W3  
YTPmS\ H _  
   HKEY hResult; B*iz+"H  
Isgk  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); *pC -`k  
Q|<?$.FN"8  
  //得到欲修改键的句柄 VaI P  
K y4y  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); S 2 h  
;Kq?*H  
   RegCloseKey(hResult); -Us% g  
}~C ZqIP  
  //修改注册表相应的值并释放键句柄 x0;}b-f  
/ bu<,o  
  } lg  
+95dz?~  
  2.给工具条指定用户特定的背景图案 %y7wF'_Y  
$)7f%II  
  void CJhfDlg::OnAddBackGround() h-rj  
s]%!  
  { K':pU1  
xAz4ZXj=q  
   if(PictureNum==0){ ~kJpBt7M  
wXZY5-h4  
  AfxMessageBox("没有可应用的选项!"); KC-aLq/  
kGqf@ I+  
   return; ,L:)ZZgN  
h_G7T1;L  
   } }Z? [Ut  
(l_de)N7  
   CString picture; [}>6n72gNh  
V dOd:w  
   int sel=m_PicList.GetCurSel(); $q$\GOQ 9  
. _t,OX$  
   if(LB_ERR ==sel){ +sluu!~  
; <@O^_+  
   AfxMessageBox("请先选中要应用的选项!"); X$&Sw3c  
*B<I><'G  
   return; ~+nSI-L  
*3 8Y;{ 4  
   } |#jm=rT0y  
a4.: i  
   m_PicList.GetText(sel,picture); KdpJ[[Ug/  
Msu2OF *x  
  //取得所需加入背景图案文件路径 +&zCmkVC7  
ye7&y4v+  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; N,,2 VSUr  
nJ})6/gK  
   HKEY hResult; j2qfEvU  
.u;TeP  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 9k^=m)yS'  
iC+H;s5<  
   //得到欲修改键的句柄 o5x^"#  
/0B ?3&H  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); {lUl+_58  
;1k0o.3  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); }t-|^mY>  
g uWqHVSs  
   RegCloseKey(hResult); 0_pwY=P  
ZDmk<}A-U  
  //修改注册表相应的值并释放键句柄 R.`J"J0/~  
H&IP>8Dk  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); :Qp/3(g e  
3A}8?  
  //得到欲修改键的句柄 Du4#\OK  
^Jc0c)*  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); 6b01xu(A[  
r3vj o(  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); XRz6Yf(/  
^ 6|"=+cO\  
   RegCloseKey(hResult); \)uad5`N  
w|o@r%Q#l  
  //修改注册表相应的值并释放键句柄 QaBXzf   
XJ?z{gXJ  
  } +`3ZH9  
'="){  
@}!$NI8  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录 或 注册
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
认证码:
验证问题:
10+5=?,请输入中文答案:十五