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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 l@UF-n~[  
P!9-!+F"  
VC修改注册表的方法与函数 V e[Kv07  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 :X9;KoJl-V  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 GPs4:CIgG  
Rb b[N#p5  
通过修改注册表实现IE换貌 [C 7X#|  
我们都知道,在注册表中,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() <MhODC")  
Aj\m57e,6  
  { >/GYw"KK  
mrE> o !  
   if(AddressNum==0){ 7[kDc-  
C\C*@9=&x  
  AfxMessageBox("没有可应用的选项!"); u^ wG Vg  
0\ j)!b  
   return; cru&nH*O^  
QB* AQ5-  
   } dXt@x8E  
?5d[BV   
   CString address; A#~CZQY^$  
PL\4\dXB  
   int sel=m_address1.GetCurSel(); u?g;fh6  
+)( "!@  
   if(LB_ERR ==sel){ uX7"u*@Q*~  
)buy2#8UW  
  AfxMessageBox("请先选中要应用的选项!"); [F *hjGLc}  
%tkL<e  
   return; gY-}!9kW]  
JKYl  
   } q4/P'.S  
Hn)^C{RN*{  
   m_address1.GetText(sel,address); fk5pPm|MiL  
0[Zs8oRiI  
  //取得所需加入的网址字符串 "\afIYS I  
/4*>.Nmb,f  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; S^e e<%-  
#{bT=:3a  
   HKEY hResult; +>mU4Fwp  
Z79Y$d>G<E  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); %. IW H9P7  
|oOA;JC)(  
  //得到欲修改键的句柄 pi*?fUg!W  
F*B^#AZg  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); G"<} s mB  
~|wh/]{b9  
   RegCloseKey(hResult); Xdf;'|HO  
gWjz3ob  
  //修改注册表相应的值并释放键句柄 L{6Vi&I84[  
ss7Z-A4z  
  } QbAEW m  
a,*|*Cv  
  2.给工具条指定用户特定的背景图案 /Q9iO&Vu  
7tT L,Nxe  
  void CJhfDlg::OnAddBackGround() @F5QgO J&r  
P<xCg  
  { ( v=Z$#l  
|Tl2r,(+R  
   if(PictureNum==0){ 6x_D0j%^]  
!Ie={BpzbZ  
  AfxMessageBox("没有可应用的选项!"); SC0_ h(zb,  
xb(y15R\I  
   return; iJ`v3PP  
llBW*4'  
   } 24_/JDz  
tj!~7lo  
   CString picture; _ <pO<S  
M*jn8OE  
   int sel=m_PicList.GetCurSel(); 1QuR7p  
v|r#  
   if(LB_ERR ==sel){ klC48l  
+Xr87x;  
   AfxMessageBox("请先选中要应用的选项!"); nR$Q~`  
5./(n7d_  
   return; Nf{tC9l  
bcprhb  
   } G`R2=bb8  
AqP7UL  
   m_PicList.GetText(sel,picture); ]u O|YLWp  
<NX6m|DD  
  //取得所需加入背景图案文件路径 M$GZK'%  
Jp`qE  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; ulnlRx  
P EAo'63$  
   HKEY hResult; T .L>PL ?=  
yB^_dE  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); c3aF lxW  
K0?:?>*b#  
   //得到欲修改键的句柄 f9&po2Pzf  
o4pe>hn  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); {d,~=s0T  
'd 6z^Z6  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); A@lY{e  
Jq?"?d|:  
   RegCloseKey(hResult); 0NG<uZ  
m:XMF)tW  
  //修改注册表相应的值并释放键句柄 ghqq%g  
!|S{e^WhbU  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); 0V:PRq;v0  
&ffd#2f`@  
  //得到欲修改键的句柄 q--;5"=S  
3DO ^vV  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); Bl)DuCV  
< ekLL{/O'  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); d>NM4n[h8  
R~DZY{u+/$  
   RegCloseKey(hResult); 7vs>PV  
R k).D 6  
  //修改注册表相应的值并释放键句柄 9AdA|/WV  
g>O O '}lF  
  } o}K!p %5_  
d$`NApr  
ueazAsk3g  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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