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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 {NQo S"  
{d!Y3+I%G  
VC修改注册表的方法与函数 IgX4.]W5  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 At9X]t  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 bLS&H[f K  
Wmz`&nsn[  
通过修改注册表实现IE换貌 v'ay.oVzw  
我们都知道,在注册表中,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() =>LZm+P  
%+tV/7|F  
  { ME+em1ZH  
TQ'E5^  
   if(AddressNum==0){ S@}4-\  
r6Nm!Bq7  
  AfxMessageBox("没有可应用的选项!"); r"_Y3SxxL  
XAD3Z?  
   return; ( $d4:Ww  
\ P/W8{  
   } kC$I2[t!  
O|z%DkH[  
   CString address; |C-y}iQ:6~  
:5# V^\3*  
   int sel=m_address1.GetCurSel(); TOT PzB  
S/Oxr%H  
   if(LB_ERR ==sel){ \< 65??P  
2Rptxb_@  
  AfxMessageBox("请先选中要应用的选项!"); P6Xp<^%E  
! D1zXXq  
   return; !nw [  
X"/~4\tJ"  
   } dWpk='  
%z)EO9vtr  
   m_address1.GetText(sel,address); J$[Q?8 ka  
nQLs<]h1  
  //取得所需加入的网址字符串 E(Gr0#8  
eyB_l.U7  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; F(4yS2h(  
-Ktwo_ V*  
   HKEY hResult; 0m=(W^c  
uiMIz?+  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); =5s$qb?#  
Q[_Ni15  
  //得到欲修改键的句柄 J/kH%_ >Ir  
w}k B6o]  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); ?r3e*qJGn  
"c Pz|~  
   RegCloseKey(hResult); 14l; *  
yT:!%\F9  
  //修改注册表相应的值并释放键句柄 Pj!%ym3A  
RVF F6N^  
  } R^tcr)(  
/hci\-8N~  
  2.给工具条指定用户特定的背景图案 ?5~!i9pY  
s]x2DH+_  
  void CJhfDlg::OnAddBackGround() 9d\N[[Vu]R  
L82NP)St  
  { 'Y)/~\FI  
[.3sE  
   if(PictureNum==0){ 2OCdG  
t)(v4^T  
  AfxMessageBox("没有可应用的选项!"); V9{B}5KC  
@ ;J|xkJ  
   return; 'j#a%j@{  
\+]O*Bm&`8  
   } b|wWHNEdb,  
CWMlZ VG  
   CString picture; ~@fanR =  
vKkf2 7  
   int sel=m_PicList.GetCurSel(); :?#cDyW)  
0O; Z  
   if(LB_ERR ==sel){  N|N/)  
sT1j F3  
   AfxMessageBox("请先选中要应用的选项!"); "m>};.lj  
bZ1 0v;  
   return; rC rr"O#j  
5f3!NeI  
   } *a4 b  
<PQRd  
   m_PicList.GetText(sel,picture); Y_lCcu#OA  
Wa/geQE1<  
  //取得所需加入背景图案文件路径 q]l\`/R%u  
0 r3N^_}  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; 8;.` {'r  
/Mx CvEE  
   HKEY hResult; Te}IMi:  
W_D%|Ub2X  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); C~_q^fXJt  
hvcR.f)C>  
   //得到欲修改键的句柄 YiNo#M91  
c#x7N9;"!  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); p[gAZ9  
2K~tDNv7  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); LOt#1Qv  
0gi}"v  
   RegCloseKey(hResult); ,s8&#1rJ-  
:|fl?{E  
  //修改注册表相应的值并释放键句柄 ~,+[M-  
QvNi8TB  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); 1Kc{#+a^  
q8tug=c  
  //得到欲修改键的句柄 {5.?'vMp  
jL2MW(d^Q  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); T-!|l7V~f  
pfNThMf  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); 1W7 iip,  
dr>]+H=3E  
   RegCloseKey(hResult); cWc$ yE'  
t5A[o7BS  
  //修改注册表相应的值并释放键句柄 /gF]s_  
LVWxd}0  
  } yOM -;h  
h!~|6nj  
roL]v\tr  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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