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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 g`Q!5WK*  
Mig l  
VC修改注册表的方法与函数 ,+Ocb-*  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 FQ 0 ;%Z  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 d~6UJ=]@8  
;FuST  
通过修改注册表实现IE换貌 (QojIdHt  
我们都知道,在注册表中,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() 9Y:.v@:}0  
 6shN%  
  { ;P}007;  
} gwfe H  
   if(AddressNum==0){ JoG(Nk]  
yW*,Llb5  
  AfxMessageBox("没有可应用的选项!"); vV=rBO0a?  
[5!{>L`  
   return; GBBp1i  
ru/{s3  
   } KRR)pT  
,y-!h@(  
   CString address; ? 47"$=G  
' Qlj"U  
   int sel=m_address1.GetCurSel(); V@y&n1?6  
(+xT5 2  
   if(LB_ERR ==sel){ jUZ$vyT  
X,lhVT |  
  AfxMessageBox("请先选中要应用的选项!"); .F%jbnKd_  
<Mj{pN3  
   return; NU'2QSU8  
aMT=pGU  
   } C]3:&dx9  
\|B\7a'4  
   m_address1.GetText(sel,address); x&JD~,Y  
~PAI0+*"q  
  //取得所需加入的网址字符串 a-nn[ j  
M(C$SB>  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; vxi_Y\r=T  
eA``fpr  
   HKEY hResult; ePR9r}  
j4`+RS+q  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); * RX^ z6  
8df| 9E$  
  //得到欲修改键的句柄 CbxWK#aMmB  
Y]`o-dV  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); 6f t6;*,  
E{^W-  
   RegCloseKey(hResult); xzFQ)t&  
Ek_<2!%X  
  //修改注册表相应的值并释放键句柄 (F3R!n  
+M#}(hK  
  } .kkhW8:  
}7xcHVO8-  
  2.给工具条指定用户特定的背景图案 3xdJ<Lrq  
)%kiM<})  
  void CJhfDlg::OnAddBackGround() AOwmPHEL  
bI(8Um6m  
  { @Cx goX^  
Jf#-OlEQ  
   if(PictureNum==0){ _ShWCU-~Z  
'qG-)2 t  
  AfxMessageBox("没有可应用的选项!"); <5#2^(  
se]&)%p[  
   return; R[* n3 wB  
L(k`1E  
   } 9HPwl  
][#|5UK8L  
   CString picture; 9:=:P>  
CvEIcm=t  
   int sel=m_PicList.GetCurSel(); =1VZcLNt  
@[f$MRp\  
   if(LB_ERR ==sel){ 1{a4zGE?[  
>M##q?.  
   AfxMessageBox("请先选中要应用的选项!"); ZSD7%gE<D  
~v:IgS  
   return; z!.cc6R  
K_:2sDCaN  
   } D,lY_6=  
OjG`s-91&  
   m_PicList.GetText(sel,picture); 4vvQ7e7  
\I<R.4 9oW  
  //取得所需加入背景图案文件路径 u86@zlzd  
R9"}-A  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; Q7d@+C  
xD~r Q$6sI  
   HKEY hResult; 8K8jz9.s  
iC>%P&|-)|  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); _Y}cK| 3  
!#*#jixo  
   //得到欲修改键的句柄 9 HlWoHuC  
D/;[x{;E  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); B%k C>J  
]w$cqUhM  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); xirq$sEl  
/eXiWasQ  
   RegCloseKey(hResult); x(4"!#  
h;y}g/HZ  
  //修改注册表相应的值并释放键句柄 i3d 2+N`  
s1#A0%gx  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); ;_|4c7  
2Qh)/=8lM  
  //得到欲修改键的句柄 piuM#+Y\'S  
(\r^ 0>H  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); ~3Zz.!F  
261? 8&c  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); E`hR(UL ?  
d<HO~+9  
   RegCloseKey(hResult); 'Nuy/\[{\  
. &`YlK  
  //修改注册表相应的值并释放键句柄 Gr)G-zE  
l?V#;  
  } U /~uu  
zxH<~2  
+xsGa{`  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
如果您在写长篇帖子又不马上发表,建议存为草稿
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八