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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。  rDFrreQP  
=2&\<Q_Fi  
VC修改注册表的方法与函数 ;g0s1nz  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 vgeqH[:  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 jt}Re,  
]r;rAOWVV  
通过修改注册表实现IE换貌 +JErc)%  
我们都知道,在注册表中,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() ZO/e!yju  
v*.R<- X:  
  { ndD>Oc}"3  
ExG(*[l  
   if(AddressNum==0){ [~N;d9H+*1  
Aits<0  
  AfxMessageBox("没有可应用的选项!"); Gj?Zbl <  
=n,;S W  
   return; R%.`h  
U =J5lo  
   } (m3hD)!+y  
]+:yfDtZd  
   CString address; ^/#+0/Bn  
G`l\R:Q  
   int sel=m_address1.GetCurSel(); Lip#uuuXXN  
%gmx47  
   if(LB_ERR ==sel){ Bj 7* 2}  
XH%pV  
  AfxMessageBox("请先选中要应用的选项!"); 0~U0s3  
o(ow{S@=4  
   return; s* GZOz  
\kQ)fk]^  
   }  ]~;*9`:  
P|Aac,nE+^  
   m_address1.GetText(sel,address); _&, A  
|!(8c>]Bo  
  //取得所需加入的网址字符串 l`\L@~ln  
[ bnu DS  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; \~#\ [r_  
Z8=?Hu  
   HKEY hResult; b%lB&}uw}  
NAo.79   
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); ]KuM's  
PzPNvV/o  
  //得到欲修改键的句柄 437Wy+Q|e  
9i\}^ s2  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); Kyh6QA^  
]-t )wGr  
   RegCloseKey(hResult); \udB4O  
<4TI;yy6?  
  //修改注册表相应的值并释放键句柄 Y @ v][Q  
0'd@8]|H  
  } Vs 5 &X+k  
[6TI_U~  
  2.给工具条指定用户特定的背景图案 $tu   
ZSNbf|ldiE  
  void CJhfDlg::OnAddBackGround() Vu(NP\Wm  
6 :4GI  
  { ;Pk"mC  
OD'~t,St  
   if(PictureNum==0){ :kHk'.V1(  
lH3.q4D 5  
  AfxMessageBox("没有可应用的选项!"); -=lm`X<:  
/6rjGc  
   return; XI`_PQco  
a >fA-@  
   } .45wwouZkc  
Z kw-a  
   CString picture; c&T5C, ]  
MNs<yQ9I'  
   int sel=m_PicList.GetCurSel(); HVvm3qu4  
oRd{?I&NY  
   if(LB_ERR ==sel){ 9]3l'  
|!K&h(J|  
   AfxMessageBox("请先选中要应用的选项!"); ScJ:F-@>  
xd3mAf  
   return; cPIyD?c  
L^e*_q2d:>  
   } 05ZYOs}  
u0R[TA3  
   m_PicList.GetText(sel,picture); .:H'9QJg  
%;4#?.W8  
  //取得所需加入背景图案文件路径 _3 [E$Lg  
"|i1A R:I  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; 5S? "<+J'  
UP-2{zb |?  
   HKEY hResult; 9>+>s ?IgK  
nxN("$'cq  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); pjO  
5 n4/}s  
   //得到欲修改键的句柄 NH/jkt&F[  
mV]~}7*Y;  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); 4`~OxL  
,dba:D= l  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); `*CoVx~fk  
/,7#%D  
   RegCloseKey(hResult); *Iw19o-I  
Q \X_JZ  
  //修改注册表相应的值并释放键句柄 blz#M #  
&h[)nD  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); G%gdI3h1Z  
;\"Nekd|  
  //得到欲修改键的句柄 @uC-dXA"  
3znhpHO)  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); M/V"Ke"N  
F-Z>WC{+  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); Q9y|1Wg1W  
*QW.#y>"j  
   RegCloseKey(hResult); dY?l oFz  
/_fZ2$/  
  //修改注册表相应的值并释放键句柄 h<m>S,@g  
:%Z)u:~':  
  } 9F,XjPK=  
yMNOjs'c {  
j+< !4 0#  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录 或 注册
批量上传需要先选择文件,再选择上传
认证码:
验证问题:
10+5=?,请输入中文答案:十五