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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 B, TB3 {  
dv.(7Y7.x  
VC修改注册表的方法与函数 fp[|M  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 'J6 M*vO  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 0el9&l9Ew  
&8]d }-e  
通过修改注册表实现IE换貌 HmiJ~C_v`:  
我们都知道,在注册表中,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() t5#rps\;  
7tcPwCc{  
  { Kd=%tNp  
? P( ZA  
   if(AddressNum==0){ K)\M5id]  
" e}3:U5n  
  AfxMessageBox("没有可应用的选项!"); $D}{]MN.  
Mi/&f   
   return; WnGGo ' Z  
2UFv9  
   } )e a:Q?  
ad:&$  
   CString address; 49w=XJ  
KN7n@$8YM  
   int sel=m_address1.GetCurSel(); %oq[,h <X  
Er+nk`UR_  
   if(LB_ERR ==sel){ j4;0|zx-i  
A9kzq_ 3  
  AfxMessageBox("请先选中要应用的选项!"); !-,t'GF(  
Fv Jd8kV  
   return; EpFQ|.mQ  
WC|.g,9#  
   } rxy&spX  
il \$@Bn  
   m_address1.GetText(sel,address); hNd}Y'%V  
lhw()u  
  //取得所需加入的网址字符串 XwlbJ=mf  
aEWWFN  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; 4( 1(e  
;~\MZYs3m  
   HKEY hResult; [&nh5 |f  
~d6DD;`K  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); "Q?k'^@  
l"2OP6d  
  //得到欲修改键的句柄 `g6h9GC6  
uvV;Mlo]  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); v0YG,)_  
R8T] 2?Q1  
   RegCloseKey(hResult); bIEhgiH  
!X<~-G2)l  
  //修改注册表相应的值并释放键句柄 mGGsB5#w>  
T9u<p=p  
  } 7?kIVP1r  
7g(F#T?;'  
  2.给工具条指定用户特定的背景图案 o4zM)\;F  
4y5UkU9|  
  void CJhfDlg::OnAddBackGround() )J NSZB  
*0>mB  
  { .?!N^_ Ez3  
NN1$'"@NL  
   if(PictureNum==0){ !V,{_(LT  
h<SQL97N  
  AfxMessageBox("没有可应用的选项!"); stk9Ah  
y;AL'vm9  
   return; K%X^n>O7C  
D*YM[sN`  
   } 8kIR y   
=n' 4?W@  
   CString picture; i7utKj*57  
bLd#xXl  
   int sel=m_PicList.GetCurSel(); _dJ{j   
<1.A=_ M  
   if(LB_ERR ==sel){ qg}O/K  
?1 [\!  
   AfxMessageBox("请先选中要应用的选项!"); jD`d#R  
*r$+&8V\n  
   return; u*#ZXW  
Hw-Z  
   } !k/Pv\j/R  
Kbb78S30  
   m_PicList.GetText(sel,picture); !\,kZ|#>  
e4z1`YLsG  
  //取得所需加入背景图案文件路径 +5&wOgx  
k!KDWb  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; -~QHqU.  
Gsc\/4Wx  
   HKEY hResult; 0sh/|`\  
zWb4([P;  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); NSFs\a@1  
~~6^Sh60g  
   //得到欲修改键的句柄 .^m>AKC0cX  
ryc& n5  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); "n=vN<8(o  
V2<?ol  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); lZrVY+ D  
YTjkPj:  
   RegCloseKey(hResult); ]wWPXx[>/  
WwUv5GZTW  
  //修改注册表相应的值并释放键句柄 S>0nx ^P  
C>[fB|^  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); A,) VM9M_l  
, E$@=1)  
  //得到欲修改键的句柄 _C+b]r/E  
2"d!(J6}K  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); u]ZqOJXxu  
wprX!)w<i  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); v (2GX  
!xKJE:4/,m  
   RegCloseKey(hResult); fVM`-8ZTq  
2AVa(  
  //修改注册表相应的值并释放键句柄 4j!]:ra  
XK5<Tg  
  } A;O~#Chvd  
1<<kA:d  
7]%Ypv$  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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