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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 D].!u{##  
q65KxOf`  
VC修改注册表的方法与函数 $E3- </ f  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 e*p7(b-  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 zWpJ\/k~  
zbK=yOIOd  
通过修改注册表实现IE换貌 =; Gw=m(  
我们都知道,在注册表中,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() XL@i/5C[  
Aifc0P-H  
  { \Km!#:  
n/#zx:d?  
   if(AddressNum==0){ 3ny>5A!;2  
&Oc^LV$6  
  AfxMessageBox("没有可应用的选项!"); ]|62l+  
bVmHUcR0  
   return; [G2@[Ct Y1  
S[,!  
   } z(2pl}  
<+UEM~)  
   CString address; 4Gs#_|!  
qp_lMz  
   int sel=m_address1.GetCurSel(); .gTla  
kcKcIn{  
   if(LB_ERR ==sel){ \"Z^{Y[,;  
AE`X4q  
  AfxMessageBox("请先选中要应用的选项!"); *,<A[XP  
vdw5T&Q{{C  
   return; z<aBGG  
D/)wg$MI  
   } 's>   
&5puGnTZ  
   m_address1.GetText(sel,address); xY9 #ouF  
Fb=(FQ2Y?  
  //取得所需加入的网址字符串 1BT]_ cP  
*I6z;.#  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; |57u;  
OE' ?3S  
   HKEY hResult; }U3+xl6g  
rx2?y3pv  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); %@ UH,Ew  
hw! l{yv  
  //得到欲修改键的句柄 C'&)""3d  
_R&mN\ey5  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); `i5U&K. 7  
.GcIwP'aU-  
   RegCloseKey(hResult); i ,Cvnp6Lv  
eKjmU| H  
  //修改注册表相应的值并释放键句柄 ~!UC:&UKo  
Yt&Isi +  
  } Qt`hUyL  
!>QS746S@  
  2.给工具条指定用户特定的背景图案 xIu #  
Py*( %  
  void CJhfDlg::OnAddBackGround() M)S(:Il6Xx  
z~&uLu  
  { -^sW{s0Rc  
`roos<F1D  
   if(PictureNum==0){ < kyT{[e+6  
)!6JSMS  
  AfxMessageBox("没有可应用的选项!"); iUSP+iC,  
},58B  
   return; 0K/Pth"*  
(:9yeP1  
   } k(LZ,WSR  
{!!df.h  
   CString picture; E;!pK9wL|  
|^fubQs;2  
   int sel=m_PicList.GetCurSel(); <xM$^r)  
DfYOGs]@  
   if(LB_ERR ==sel){ AGaM &x=  
BS3Aczwk  
   AfxMessageBox("请先选中要应用的选项!"); ,=sbK?&  
mGx!{v~i&  
   return; \7b-w81M-  
+B(x:hzY9  
   } {UqSq  
;W%nBdE6|  
   m_PicList.GetText(sel,picture); (NfP2E|B  
aAM!;3j]B`  
  //取得所需加入背景图案文件路径 F6>K FU8  
.*XELP=BT  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; EUBJnf:q  
CTawXHM  
   HKEY hResult; W P7RX|7  
eu=G[>  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); :"m~tU3&  
|OW/-&)  
   //得到欲修改键的句柄 }/tT=G]91  
337y,;  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); S1jI8 #z}_  
=5:L#` .  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); z4t.- 9(C  
7AwV4r*:  
   RegCloseKey(hResult); |-Rg].  
=$bJ`GpJ  
  //修改注册表相应的值并释放键句柄 fP 1V1ao  
PJd7t% m;  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); Pdgn9  
3a9%djGq  
  //得到欲修改键的句柄 5)712b(&  
758`lfz=_  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); nW)-bAV<  
=^liong0  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); lMkDLobos  
y98 v  
   RegCloseKey(hResult); s|er+-'  
tW<i;2 l  
  //修改注册表相应的值并释放键句柄 R7)\w P*l5  
5zk<s`h  
  } !`kX</ha.  
7# >;iGuz  
%v}SJEXF p  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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