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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 ` @`CG[-9  
<g"{Wv: h  
VC修改注册表的方法与函数 =ALTUV3/q  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 bbE!qk;hEP  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 ?l9XAW t\  
D]zwl@sRX:  
通过修改注册表实现IE换貌 P GqQ@6B  
我们都知道,在注册表中,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() Gefne[  
5>[u `  
  { Z&1\{PG3*  
qm/)ku0  
   if(AddressNum==0){ ,U2*FZ["  
'Gj3:-xqL  
  AfxMessageBox("没有可应用的选项!"); 32&;`]C  
M/b Sud?@%  
   return; a<^v(r  
~E17L]ete  
   } 3LOdjT J  
yDzc<p\`  
   CString address; LRL,m_gt  
VK m&iidU  
   int sel=m_address1.GetCurSel(); pFOx>u2`a  
0Tx6zO  
   if(LB_ERR ==sel){ HiZ*+T.B  
Q'=x|K#xj  
  AfxMessageBox("请先选中要应用的选项!"); nT7%j{e=L  
r>>%2Z-P  
   return; T&6l$1J  
<M+|rD]oc  
   } vS;RJg=  
%)1y AdG 8  
   m_address1.GetText(sel,address); CsGx@\jN  
>;e~WF>+K  
  //取得所需加入的网址字符串 ,E S0NA  
C5o#i*|  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; Y]'Z7<U}*E  
Va"0>KX  
   HKEY hResult; ag [ZW  
+r2+X:#~T  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); ]d$8f  
"@V Y  
  //得到欲修改键的句柄 j()7_  
hOjk3 k  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); oB(?_No7  
,Vc6Gwm  
   RegCloseKey(hResult); _kef 0K6  
]L5@,E4.  
  //修改注册表相应的值并释放键句柄 =^M/{51j  
L/$H"YOv  
  } glO^yZs  
Ag-(5:  
  2.给工具条指定用户特定的背景图案 , qMzWa  
XO.jl"xu  
  void CJhfDlg::OnAddBackGround() slCx w$  
}Y12  
  { n(1l}TJy  
@LF,O}[2J  
   if(PictureNum==0){ D+lAhEN  
.s?L^Z^  
  AfxMessageBox("没有可应用的选项!"); #NEE7'&S  
L>jY.d2w=K  
   return; {'7B6  
- YEZ]:"  
   } 8V'~UzK  
f\|w '  
   CString picture; n@<YI  
}|h# \$w  
   int sel=m_PicList.GetCurSel(); i1}:8Unxf  
G|bT9f$  
   if(LB_ERR ==sel){ f z'@_4hg  
LBw1g<&  
   AfxMessageBox("请先选中要应用的选项!"); ^pp\bVh2Q]  
h0g8*HY+}  
   return; KI"#f$2&  
Z9v31)q(  
   } 01 }D,W`  
d[iQ` YW5  
   m_PicList.GetText(sel,picture); g|o,uD  
x]}^v#  
  //取得所需加入背景图案文件路径 S|Q@:r"  
uy>q7C  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; lU8l}Ndz"  
}7b%HTF=  
   HKEY hResult; (~p< P+  
; 5*&xz  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 7r6.n61F  
j\eI0b @*  
   //得到欲修改键的句柄 G<L;4nA)  
yuh *  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); <$D`Z-6  
?qb}?&1  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); 2=*H 8'k  
OAgniLv  
   RegCloseKey(hResult); 9SX +  
AP3a;4Z#  
  //修改注册表相应的值并释放键句柄 k R?qb6  
y6g&Y.:o  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); >xN .F/[K  
M[NV )q/)  
  //得到欲修改键的句柄 j * %  
'NWfBJm  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); &h}#HS>l  
iDpSj!x/_  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); _P!m%34|  
bL0yuAwF2  
   RegCloseKey(hResult); xVw9v6@`h  
2R[:]-b  
  //修改注册表相应的值并释放键句柄 &)QX7*H  
]_)yIi"  
  } CXH&U@57{  
p/ ,=OaVU  
?e%ZOI  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
如果您在写长篇帖子又不马上发表,建议存为草稿
认证码:
验证问题:
10+5=?,请输入中文答案:十五