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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 o & kgRv[  
B8 R&Q8Q  
VC修改注册表的方法与函数 $<d3g :  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 qWw{c&{Q],  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 O],]\M{GL  
7-[^0qS  
通过修改注册表实现IE换貌 U&L?IT=x  
我们都知道,在注册表中,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() UE K$  
v v]rXJu1  
  { V,>uM >$  
,{g B$8z^  
   if(AddressNum==0){ ;(;{~1~  
pF'M  
  AfxMessageBox("没有可应用的选项!"); zzZ K S  
~4u[\&Sh  
   return; Yjix]lUXVf  
X XC(R  
   } U[c^xz&  
jmva0K},SE  
   CString address; qm|T<zsDY#  
P~u~`eH*  
   int sel=m_address1.GetCurSel(); d1n*wVl  
<amdPo+2D  
   if(LB_ERR ==sel){ t"FB}%G  
6F08$,%Y  
  AfxMessageBox("请先选中要应用的选项!");  bj U]]  
j(];b+>  
   return; mW_ N-z  
;09U*S$eK  
   } gIcm`5+T  
#B8V2_M  
   m_address1.GetText(sel,address); K)TMr"j\  
NEcE -7aT  
  //取得所需加入的网址字符串 zn/b\X/  
Q5/BEUkC  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; k{.`=j  
>kG: MJj  
   HKEY hResult; zM++ Z*  
Ap9 %5:]  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); mE3M$2}  
ec"+Il  
  //得到欲修改键的句柄 QHbjZJ N  
AOR(1Qyo  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); p$zj2W+sN  
S'%!KGVe  
   RegCloseKey(hResult); R^tDL  
hT[w" &3  
  //修改注册表相应的值并释放键句柄 TW~9<c  
D|X@aUp 8}  
  } (xlA S  
F!~oJ  
  2.给工具条指定用户特定的背景图案 QOKE9R#Y  
GB` G(a  
  void CJhfDlg::OnAddBackGround() av4g/7=  
ip2BvN&  
  { {igVuZ(>en  
Evb %<`gd  
   if(PictureNum==0){ ewp&QH4  
Nt P=m @  
  AfxMessageBox("没有可应用的选项!"); !; COFR  
qo5WZ be  
   return; ~6O<5@k  
f)%8*B  
   } _Sn7z?  
br_D Orq|  
   CString picture; 7&{[Y^R]"  
D+69U[P_A  
   int sel=m_PicList.GetCurSel(); 8^av&u$  
5_= HtM[v]  
   if(LB_ERR ==sel){ 6 xAR:  
V~_aM@q1  
   AfxMessageBox("请先选中要应用的选项!"); Tq`rc"&7u  
!%Qm{R  
   return; &kNJ s{  
:/941?%M  
   } eBxOa  
1 8kzR6(W  
   m_PicList.GetText(sel,picture); R[_UbN 28  
G$!JJ. )d  
  //取得所需加入背景图案文件路径 zd^QG  
.m_-L Y-  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; |)IS[:X  
c(G;O )ikS  
   HKEY hResult; KiO1l{.s8n  
KL6FmL)HH  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); *:hHlH* t1  
5p`.RWls  
   //得到欲修改键的句柄 D_)n\(3  
zTQTmO  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); c&n.JV   
'}.Z' %;  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); !pG_MO  
xcA5  
   RegCloseKey(hResult); l8Ks{(wh  
QeZK&^W  
  //修改注册表相应的值并释放键句柄 v35=4>Y  
Ht!]%  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); S1oP_A[|  
95^A !  
  //得到欲修改键的句柄 [ #1<W`95  
'Z=8no`<  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); y0f"UH/   
yJG M"$  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); l=?G"1  
C AvyS  
   RegCloseKey(hResult); BA t0YE`-,  
yPhTCr5pK  
  //修改注册表相应的值并释放键句柄 %`1 p8>n  
tsvh/)V  
  } Uel^rfE`  
T\Ld)'fNv  
K,Z_lP_~Vw  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八