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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 eX$RD9 H  
[4r<WvUaM  
VC修改注册表的方法与函数 3Dx@rW\  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 4YgO1}%G  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 5VSc5*[  
(tCBbPW6T?  
通过修改注册表实现IE换貌 wlFK#iK  
我们都知道,在注册表中,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() _H"_&m$aDm  
AAF']z<4_"  
  { "^oU&]KQJ  
X#o<))  
   if(AddressNum==0){ }ag;yf;  
9\VV++}s>o  
  AfxMessageBox("没有可应用的选项!"); Oe21noL  
i1 c[Gk.o  
   return; QIfP%,LT  
aA]wFZ  
   } Pa'N)s<  
j dkqJ4&i  
   CString address; a1shP};pK  
]sI\.a  
   int sel=m_address1.GetCurSel(); bO* hmDt  
0|kH0c,T-  
   if(LB_ERR ==sel){ d~q7!  
7AF6aog  
  AfxMessageBox("请先选中要应用的选项!"); deEc;IAo  
\A6 }=  
   return; !p Q*m`Xo  
,0eXg  
   } kDG?/j90D  
:<v@xOzxx  
   m_address1.GetText(sel,address); R[l~E![!j  
x *a_43`  
  //取得所需加入的网址字符串 M5 P3;  
&7 9F Uac  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; b3ys"Vyn  
Js(MzL  
   HKEY hResult; Z= =c3~  
;(rK^*`fO  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 2Vs+8/  
,u9 >c*Ss\  
  //得到欲修改键的句柄 ZAgtVbO7  
8gG;A8  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); = toU?:.  
lQv (5hIm  
   RegCloseKey(hResult); bAld'z#  
j Y(|z*|  
  //修改注册表相应的值并释放键句柄 )2 b-3lz  
E)|Bl>  
  } e-nwR  
y,K> Wb9e  
  2.给工具条指定用户特定的背景图案 %~M#3Ywa  
'wWuR@e#&  
  void CJhfDlg::OnAddBackGround() ^a$L9p(  
:m36{#  
  { `NNP}O2  
%r&36d'  
   if(PictureNum==0){ 2cwJ);Eg2  
ZiRCiQ/?  
  AfxMessageBox("没有可应用的选项!"); h+S]C#X,}  
f ~bgZ  
   return; h gu\~}kD  
GiKhdy  
   } 4O:HT m  
NN5G '|i  
   CString picture; R+2~%|{d  
KL*+gq0k  
   int sel=m_PicList.GetCurSel(); 79I"F'  
E= .clA  
   if(LB_ERR ==sel){ PS0/O k  
EKS?3z%!  
   AfxMessageBox("请先选中要应用的选项!"); Ec^2tx"=  
o6:@j#b  
   return; v^;vH$B  
vQj{yJ\l1  
   } g?K? Fn.}  
m}]QP\  
   m_PicList.GetText(sel,picture); ~6+Um_A_L  
Sj IDzNI5  
  //取得所需加入背景图案文件路径 ;,7m  
Lhrlz,1  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; shO4>Ha  
)|#ExyRO  
   HKEY hResult; @H^\PH?pp  
@jq H8  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); MZqHL4<|  
16Jjf|]j  
   //得到欲修改键的句柄 mo,"3YW  
Vy^mEsQC+h  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); #B q|^:nj  
"ZA`Lp;%w  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); j,Qb'|f5  
eR/X9<  
   RegCloseKey(hResult); Kzy9i/bL  
 )\kNufP  
  //修改注册表相应的值并释放键句柄 n57mh5mixM  
WI.+9$1:P  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); #WGyQ u  
Do5{t'm3  
  //得到欲修改键的句柄 ~}SQLYy7Z  
= )4bf"~8  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); wUfPnAD.'  
|tz{Es<`B  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); SpOSUpl%  
ymT]ow6C  
   RegCloseKey(hResult); M'oQ<,yW-  
P ?96;  
  //修改注册表相应的值并释放键句柄 Hl*#iUq  
ABL5T-*]  
  } 9>ZX@1]m_  
)Y"t$Iw"  
)i\foSbB`V  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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