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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 2Tp.S3  
/D eU`rj  
VC修改注册表的方法与函数 IP-mo!Y.  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 (RQ kwu/  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 V\A?1   
{?82>q5F  
通过修改注册表实现IE换貌 <X:7$v6T|  
我们都知道,在注册表中,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() @?z*: 7a  
jl@xcs]#  
  { VE!h!`<k  
_d: l1jD  
   if(AddressNum==0){ l+@NjZGm<  
3S Dw-k  
  AfxMessageBox("没有可应用的选项!"); ]kr OPM/  
=6ojkTk  
   return; zg|]Ic  
2$|WXYY  
   } `.@N9+Aj  
Y?Xs Z  
   CString address; X\_ku?]v  
Av{1~%hU  
   int sel=m_address1.GetCurSel(); Rv }e+5F  
HyB!8M|  
   if(LB_ERR ==sel){ 'w DNP_  
P9gIKOOx#4  
  AfxMessageBox("请先选中要应用的选项!"); ]R( =)  
f"S^:F0  
   return; [H!V  
2x0[@cT i?  
   } V5m4dQ>t  
S?&ntUah  
   m_address1.GetText(sel,address); %1S;y  
(2 X`imJ  
  //取得所需加入的网址字符串 tONxV`  
v]BN.SHE_  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; `uY77co6  
(c_E*>c)  
   HKEY hResult; 26j ; RV  
Y2}\~I0  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); Go8 m  
:\>@yCD  
  //得到欲修改键的句柄 HqOzArp3  
XfharJ_b  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); aqtQGK57"%  
1O8RGk4  
   RegCloseKey(hResult); ? 3Td>x  
so1% MV  
  //修改注册表相应的值并释放键句柄 VXQ~PF]z0  
W2s6!_AN  
  } Ft'?43J  
Y'wQ(6ok  
  2.给工具条指定用户特定的背景图案 yi PMJ  
aVEg%8  
  void CJhfDlg::OnAddBackGround() ;BsyN[bF  
}Til $TT%H  
  { x^&D8&4^  
; &$djP  
   if(PictureNum==0){ rz5AIe>Hm  
pxjb^GZ0  
  AfxMessageBox("没有可应用的选项!"); 7xqTTN6h  
a%cCR=s=  
   return; =XuBan3B>  
!;>j(xc  
   } 26?yEd6^Z  
pkQEry&Z  
   CString picture; n'>`2 s  
#f d ;]  
   int sel=m_PicList.GetCurSel(); bejvw?)S.  
|bA\>%~  
   if(LB_ERR ==sel){ 3U^E<H  
Xf(H_&K  
   AfxMessageBox("请先选中要应用的选项!"); qf-0 | w  
rZEL7{  
   return; Dn1aaN6  
f5'Cq)Vw_  
   } _NA[g:DZ&O  
ye4 T2=  
   m_PicList.GetText(sel,picture); %v5IR  
HJ~0_n&  
  //取得所需加入背景图案文件路径 EVX*YGxx6  
9mZ[SQf  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; (Rj'd>%c  
$DBJ"8n2  
   HKEY hResult; 2N B/&60<  
nB>C3e  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); {B+|",O5)  
_HjS!(lMk  
   //得到欲修改键的句柄 ;W 16Hr Z  
#l2KJ7AMK  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); +es|0;Z4yP  
xA/Ein0  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); oK\{#<gCZ  
ai0am  
   RegCloseKey(hResult); Q*&k6A"jx  
3 vr T`  
  //修改注册表相应的值并释放键句柄 /r2*le (H  
 $I}7EI  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); `3GYV|LeQ  
3HCH-?U5  
  //得到欲修改键的句柄 <u`m4w  
Q0l[1;$#  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); {{N*/ E^  
@~1}n/  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); },#@q_E  
l<X8Ooan#{  
   RegCloseKey(hResult); , !0-;H.Y  
d>k)aIYp  
  //修改注册表相应的值并释放键句柄 DNwqi"  
?Pbh&!  
  } o>~xrV`E  
m}`!FaB #  
nz+k ,  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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