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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 G(7\<x:  
%~B)~|h  
VC修改注册表的方法与函数  hZss  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 4Rrw8Bw  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 B Z\EqB  
AT8B!m   
通过修改注册表实现IE换貌 fr,CH{Uq  
我们都知道,在注册表中,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() R uFu,H-  
8,H#t@+MT  
  { RBv=  
9sO{1rF  
   if(AddressNum==0){ psyH?&T  
m|#(gX|F  
  AfxMessageBox("没有可应用的选项!"); *xZQG9`kt  
qs8K jG@  
   return; qN`]*baS  
H~_^w.P  
   } zM8/ s96h  
<2TB9]2. g  
   CString address; V"2AN3~&  
qed!C  
   int sel=m_address1.GetCurSel(); E3.W#=o  
<-oRhi4  
   if(LB_ERR ==sel){ kGBl)0pr`x  
-fSKJo#}|  
  AfxMessageBox("请先选中要应用的选项!"); *{;A\sL  
G"UH4n[1ur  
   return; EbwZZSds1  
v-r[~  
   } M;RnH##W  
Bu >yRL=*  
   m_address1.GetText(sel,address); c;t(j'k`  
@R-~zOv  
  //取得所需加入的网址字符串 \'^Z_6{w  
o7 -h'b-  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; 2h? r![  
g9lg  
   HKEY hResult; |z<wPJ,;2  
7N~qg 7&  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); @SQ*/sw (c  
dXK~ Z:  
  //得到欲修改键的句柄 O,xAu}6f+  
7i|hlk;  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); RWh}?vs_  
hk$nlc|$  
   RegCloseKey(hResult); ^J5V!i$  
[2j (\vC!  
  //修改注册表相应的值并释放键句柄 * SON>BSF  
,IVr4#w0=  
  } OrH1fhh   
kq.R(z+  
  2.给工具条指定用户特定的背景图案 HS&uQc a  
m+gG &`&u  
  void CJhfDlg::OnAddBackGround() |s3HeY+Co  
/qQ2@k  
  { I\4`90uBN  
W9:{pQG  
   if(PictureNum==0){ ThQEQ6y  
9q@YE_ji  
  AfxMessageBox("没有可应用的选项!");  v=Bh A9[  
L!8?2 \5  
   return; vhe Ah`u^&  
! {o+B^^  
   } h}:5hi Jw  
?yM/j7Xn  
   CString picture; "s6_lhu=E7  
u(G;57ms  
   int sel=m_PicList.GetCurSel(); jvKaxB;e  
7u3b aM  
   if(LB_ERR ==sel){ I;m@cSJ|j  
?bYQZJ>&  
   AfxMessageBox("请先选中要应用的选项!"); <.%8j\j(  
X'Il:SK  
   return; e =Tc(Mwn  
(Gk]<`d#N  
   } A kQFb2|ir  
-Aym+N9  
   m_PicList.GetText(sel,picture); v5bb|o[{K  
\C\y' H5  
  //取得所需加入背景图案文件路径 AA%g^PWpR  
3)MM5 b b$  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; " 7g8 d  
j\L$dPZ  
   HKEY hResult; Glc4g  
pO+wJ|f  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); LUVJ218p  
( 2(;u1  
   //得到欲修改键的句柄 ~map5@Kd  
ZTz(NS EK  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); *8eh%3_$h  
v&,VC~RN-J  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); _^s SI<&m  
$zA[5}{ZtQ  
   RegCloseKey(hResult); Y0C<b*!"ST  
_~&v s<  
  //修改注册表相应的值并释放键句柄 ;HwJw\fo  
ieoUZCO^r\  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); tJfN6  
:H:}t>X6Vo  
  //得到欲修改键的句柄 >h-6B=  
2Sd6b 2-  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); sWzXl~JbF  
DQXx}%Px  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); U1tPw`0h  
!b8|{#qh.  
   RegCloseKey(hResult); j|8{Vyqd  
aL6 5t\2  
  //修改注册表相应的值并释放键句柄 7#*CWh1BNO  
T<,tC"  
  } `.Q3s?1F  
RwHXn]1  
g[)hm`{?  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
认证码:
验证问题:
10+5=?,请输入中文答案:十五