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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 7!wc'~;  
ydA@@C\&  
VC修改注册表的方法与函数 p{:y?0pGN  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 CM%;/[WBxy  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 ?J-\}X  
yL),G*[p\}  
通过修改注册表实现IE换貌 QN|=/c<U  
我们都知道,在注册表中,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() /8!n7a7  
sWB@'P:x  
  { ([^#.x)hz  
:@a0h  
   if(AddressNum==0){ [!MS1v c;  
9dm<(I}  
  AfxMessageBox("没有可应用的选项!"); ={f8s,m)P,  
n_:EWm$\  
   return; [4aw*M1z}.  
@4MQ021(  
   } 1Wiz0X/  
wS+!>Q_]w  
   CString address; kKjcW` [  
iSUu3Yv,_m  
   int sel=m_address1.GetCurSel(); Y]5spqG  
5W$Jxuyqj  
   if(LB_ERR ==sel){ h-RhmQA=Iz  
Sk)lT^by  
  AfxMessageBox("请先选中要应用的选项!"); {> 8?6m-  
R$66F>Jz^  
   return; xR8.1T?8  
c{ +bY .J  
   } D _ 1O4/  
Ji:<eRx)  
   m_address1.GetText(sel,address); ^do6?e`?-  
>#'?}@FWQN  
  //取得所需加入的网址字符串 ^b}Wl0Fn  
C/H;|3.X  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; -Sn'${2  
LAY:R{vI  
   HKEY hResult; _*n `*"  
fms(_Q:R?  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); cA|vH^:  
sOiM/} O]  
  //得到欲修改键的句柄 e /1x/v'  
+95v=[t#Ut  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); bC~I}^i\  
5pC}ZgEa<  
   RegCloseKey(hResult); t`{T:Tjc  
1e7I2g  
  //修改注册表相应的值并释放键句柄 ek U%^R<  
BFg&@7.X  
  } 3Pgokj   
#HW<@E  
  2.给工具条指定用户特定的背景图案 vU5}E\Ny  
( Cg vI*O  
  void CJhfDlg::OnAddBackGround() VumM`SH  
k#u)+e.'  
  { }S3  oX$  
hvQXYo>TZx  
   if(PictureNum==0){ %4Qs|CM)m  
{qbe ye!  
  AfxMessageBox("没有可应用的选项!"); 6y1\ar(A  
yTh%[k  
   return; (x?Tjyzw  
"a}fwg9Y  
   } z6rT<~xZtu  
PHEQG]H S  
   CString picture; kU=U u>  
^Il*`&+?P  
   int sel=m_PicList.GetCurSel(); `C C=?E  
p\F%Nj,  
   if(LB_ERR ==sel){ p!=O>b_f  
8D,*_p  
   AfxMessageBox("请先选中要应用的选项!"); D4{KU%Xp&  
-u4")V>  
   return; +4 Pes  
{7c'%e  
   } #^Pab^Y3r-  
#p55/54ZI  
   m_PicList.GetText(sel,picture); iU37LODa2T  
yjMN>L'  
  //取得所需加入背景图案文件路径 deVnAu =  
kd\Hj~*  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; l'aCpzf  
w= n(2M56C  
   HKEY hResult; 4#7*B yvf  
QIlZZ  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); "}`)s_rt  
S4[ #[w`=  
   //得到欲修改键的句柄 EwU)(UK  
k.K#i /t  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); P\<:.8@$S  
I[v`)T'_{  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); t89Tt@cf  
a!-J=\>9  
   RegCloseKey(hResult); noL9@It0  
s.Bb@Jq  
  //修改注册表相应的值并释放键句柄 f,Dic%$q  
 X(X[v]  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); #0Y_!'j  
%Nv w`H  
  //得到欲修改键的句柄 kltW  
*o4a<.hd2  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); Uc'}y!R  
fByf~iv,  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); EY<"B2_%  
m 8b,_1  
   RegCloseKey(hResult); {7@*cB qN  
s</qT6@  
  //修改注册表相应的值并释放键句柄 6 h,!;`8O  
d[J_iD{ &  
  } ^ r(My}  
D9A%8o  
jVQ89vf ~  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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