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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 oeIza<:=R  
< r7s,][&  
VC修改注册表的方法与函数 vOi4$I~CJ  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 "6 \_/l  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 z"j]m_m H  
?)?}^  
通过修改注册表实现IE换貌 #Zt(g(T  
我们都知道,在注册表中,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() e|S_B*1*0  
iFkXt<_A  
  { _ 2E*  
#/LU@+  
   if(AddressNum==0){ +/4wioGm  
:*dfP/GO  
  AfxMessageBox("没有可应用的选项!"); &_ W~d0  
n|AV7c  
   return; `T(T]^C98  
?Oyps7hXx  
   } qM8"* dL  
*d mS'/  
   CString address; ~3,k8C"pRq  
mo  
   int sel=m_address1.GetCurSel(); q>Kzl/~c.P  
Hh{pp ^  
   if(LB_ERR ==sel){ t?;\'  
Dwg_#GSr  
  AfxMessageBox("请先选中要应用的选项!"); \:D"#s%x  
u;3wg`e  
   return; )0N^rw kW  
>dYN@cB$}  
   } W~qVZ(G*U  
\zM3{{mV/  
   m_address1.GetText(sel,address); ds;c\x  
/YHAU5N/}  
  //取得所需加入的网址字符串 VL2+"<  
^&Wa? m.  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; O#72h]  
A8U\/GP  
   HKEY hResult; s>c0K@ADO  
1yV+~)by3  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); pUD(5v*0R  
f S-PM3  
  //得到欲修改键的句柄 iM(Q-%HP_  
r%412 #  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); t5;)<N`  
gUHx(Fi[4  
   RegCloseKey(hResult); dBNx2T}_0  
L5 Q^cY]p  
  //修改注册表相应的值并释放键句柄 jHQnD]Hr  
GiS:Nq`$(  
  } DuI>z?bS  
 /wT<p  
  2.给工具条指定用户特定的背景图案 Nn='9s9F?}  
B<\HK:%{  
  void CJhfDlg::OnAddBackGround() x". !&5  
nN5fP<H2x  
  { o9]i {e>L  
"< })X.t  
   if(PictureNum==0){ 8T?D#,/  
CWa~~h<r-  
  AfxMessageBox("没有可应用的选项!"); B!1Bg9D  
NE4 }!I  
   return; J^y?nE(j  
Ge1b_?L_  
   } EFn[[<&><t  
bZWdd6  
   CString picture; {@ Z=b 5/P  
oe<DP7e  
   int sel=m_PicList.GetCurSel(); a4\j.(w)$D  
E{BX $R_8  
   if(LB_ERR ==sel){ YDYN#Ob(;  
l!mx,O`  
   AfxMessageBox("请先选中要应用的选项!"); gfJHB3@  
L L? .E  
   return; )=pa*  
yS1i$[JV  
   } YF)k0bu&;  
d<Dm(   
   m_PicList.GetText(sel,picture); / }Pj^^6A<  
z)Lw\H^/  
  //取得所需加入背景图案文件路径 l KG' KR.  
 ) fQ1U  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; 7j8lhrM}^  
53WCF[  
   HKEY hResult; __Zex5Y#-  
mx5#K\  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); qP BOt;N  
)kDB*(?  
   //得到欲修改键的句柄 nrg$V>pD  
2p~}<B  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); V{UY_ e8W  
>R}G  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); K5!OvqzG  
dngG=  
   RegCloseKey(hResult); M $f6. j  
h43py8v  
  //修改注册表相应的值并释放键句柄 L7]o^p{g}Q  
'0w</g  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); i>O8q%BnJ  
Xo$SQ0K  
  //得到欲修改键的句柄 mDx=n.lIz  
]=ADX}  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); RT|1M"?$  
.$fSWlM;  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); %,(X R`  
9oYE  
   RegCloseKey(hResult); 0D Lw  
ohjl*dw  
  //修改注册表相应的值并释放键句柄 2Z>8ROv^X  
Eq|5PE^7  
  } }N&? 8s=  
?|~KF:,#}  
z69u@  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八