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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 z%L\EP;o}  
D-\z'gS  
VC修改注册表的方法与函数 \H.1I=<  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 X FvPc  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 eX{Tyd{  
@{8SC~ha  
通过修改注册表实现IE换貌 4>(OM|X=9  
我们都知道,在注册表中,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() 5> =Ia@I   
ZDl(q~4?z  
  { @jH8x!5u:  
.cg"M0  
   if(AddressNum==0){ _gP-$&JC  
VW\~OH  
  AfxMessageBox("没有可应用的选项!"); /%h<^YDBf  
ITEd[ @^d  
   return; nsV;6^>  
}G[Qm2k  
   } 7_AcvsdW  
4[m4u6z=  
   CString address; EX,)MU  
HVcd< :g0  
   int sel=m_address1.GetCurSel(); uVV;"LVK~  
] _P!+5]<  
   if(LB_ERR ==sel){ 8w4cqr4m  
,W~a%8*  
  AfxMessageBox("请先选中要应用的选项!"); ADN  
G+f@m,  
   return; VtC1TZ3-7  
;/.XAxkFL  
   } !l1ycQM  
9\W }p\c  
   m_address1.GetText(sel,address); a$'= a09  
Wq]Lb:&{a  
  //取得所需加入的网址字符串 @K.[;-;g  
0p' =Vel{}  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; lzStJ,NPqn  
rz3!0P!"K  
   HKEY hResult; 1t7S:IZ  
?3:xR_VWZu  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); Z,m;eCLG]  
M `bEnu  
  //得到欲修改键的句柄 .jC-&(R +  
^ G(GjW8  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); H0\5a|X-  
YDr/Cw>J  
   RegCloseKey(hResult); gsp|?) ]x  
!<xeAo%8  
  //修改注册表相应的值并释放键句柄 6tg0=_c  
3xGk@ 333  
  } `?R~iLIAq  
t9B]V  
  2.给工具条指定用户特定的背景图案 U.HeIJ#  
! FVXNl  
  void CJhfDlg::OnAddBackGround() Gdf*x<T1  
%rZJ#p[e)=  
  { l~V^  
F2$Z4%x#  
   if(PictureNum==0){ bC@9 */i  
L z'05j3!  
  AfxMessageBox("没有可应用的选项!"); -I#1xJU  
Q+UqLass  
   return; lnoK.Vk9,  
Ju"*>66  
   } J_^Ml)@iy  
P I0[  
   CString picture; Dpa PRA)x  
REvY`   
   int sel=m_PicList.GetCurSel(); ~L.)<{?  
'rw nAr  
   if(LB_ERR ==sel){ H,H=y},  
1]uHaI(  
   AfxMessageBox("请先选中要应用的选项!"); _n;V iQMu  
3G7Qo  
   return; jI(}CT`g  
y84= Q  
   } JtrLTo  
,U#$Qb 12  
   m_PicList.GetText(sel,picture); 3,cZ*4('d  
lJloa'%v9  
  //取得所需加入背景图案文件路径 >1=sw qa  
.?YLD+\A  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; Htf|VpzMb  
s5TPecd  
   HKEY hResult; ;nbUbRb  
yF}l.>7D  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); BtN@P23>k.  
)wROPA\uA  
   //得到欲修改键的句柄 > ^b6\  
 OBCRZ   
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); "3"9sIZ(  
M"eiKX  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); ytXXZ`  
` qqUuFMM  
   RegCloseKey(hResult); C=6Vd  
|3?qL  
  //修改注册表相应的值并释放键句柄 O)qedy*&  
'K=n}}&:  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); \)?[1b&[_  
TrHz(no  
  //得到欲修改键的句柄 H *gF>1  
G#&R/Tc5N  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); >d&_e[j  
0N~AQu  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); gZ*8F|sg  
IZV D.1  
   RegCloseKey(hResult); .OHjn|  
}l/ !thzC  
  //修改注册表相应的值并释放键句柄 h4 s!VK1X  
R&BbXSIDX  
  } ZS@Cd9*  
ptXLWv`  
0\*6U H  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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