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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 aDN.gM S  
1y 1_6TZ+  
VC修改注册表的方法与函数 ^]i" H|(x  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 <o ~t$TH  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 vUqe.?5  
ed=n``P~}  
通过修改注册表实现IE换貌 KM5jl9Vv  
我们都知道,在注册表中,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() lx`q *&E  
UmYD]  
  { '^e0Ud,  
::v;)VdX+*  
   if(AddressNum==0){ AjG)1  
hH#lTye  
  AfxMessageBox("没有可应用的选项!"); zaH 5 Km_j  
)ni"qv~J  
   return; mZ]P[lQ'5  
UE\%e9<l  
   } E N)YoVk  
FMoJ"6Q  
   CString address; vz- 9<w;>a  
K *TnUQ  
   int sel=m_address1.GetCurSel(); S>.q 5  
?Y%}(3y  
   if(LB_ERR ==sel){ Tc9&mKVE%(  
$I\))*a  
  AfxMessageBox("请先选中要应用的选项!"); Yd[U  
MgHOj   
   return; NAJ '><2  
ur?d6 a  
   } ~u};XhZ  
>s;oOo+5  
   m_address1.GetText(sel,address); 2j2mW>Z  
u9esdOv  
  //取得所需加入的网址字符串 8FAT(f//.  
F(J\ctha  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; 7ESN!  
Xq+!eOT  
   HKEY hResult; SCgyp(  
d&/^34gn  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); AmP#'U5  
np<f,  
  //得到欲修改键的句柄 @~JB\j9  
P h9Hg'  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); ,lrYl!,  
}9{dR4hD  
   RegCloseKey(hResult); J@oEV=L  
eV"dv*R  
  //修改注册表相应的值并释放键句柄 qXXYF>Z-  
8dV.nO  
  } "9c.CI  
%M|Z}2qv  
  2.给工具条指定用户特定的背景图案 KC&H*  
<9Lv4`]GU5  
  void CJhfDlg::OnAddBackGround() O<}ep)mr  
ZC3tbhV  
  { _<u8%\  
#JK;& Dg!  
   if(PictureNum==0){ :iP>z}h  
Xjs21-t%  
  AfxMessageBox("没有可应用的选项!"); z7O Z4R:  
jA20c(O  
   return; TYs+XJ'Xj  
CQ@#::'F1  
   } B'WCN&N  
5*s1qA0^  
   CString picture; 7Vz[ji  
!!?+M @  
   int sel=m_PicList.GetCurSel(); -ET*M<  
r Iya\z1W  
   if(LB_ERR ==sel){ zjluX\  
b*I&k":  
   AfxMessageBox("请先选中要应用的选项!"); 3v8V*48B$  
DhtU]w}  
   return; P!`Q_h6a  
7\7Brw4  
   } sD LVYD  
!Z<mrr;T@  
   m_PicList.GetText(sel,picture); (PCimT=5  
uE,i-g0$Id  
  //取得所需加入背景图案文件路径 yj}bY?4I  
J~_L4* Jw  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; SR&(HH$  
)@8'k]Glw.  
   HKEY hResult; M iP[UCh  
otmIu`h  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 9TYw@o5V  
?~VWW<lR  
   //得到欲修改键的句柄 &^CL] &/  
TIK/%T  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); EmtDrx4!(f  
dCf'\ @<<  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); h/0<:eZ*  
v7{ P].M  
   RegCloseKey(hResult); [OFTP#}c  
B|]t\(~$ [  
  //修改注册表相应的值并释放键句柄 &X#x9|=&O  
_Ep{|]:gw  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); ?J^IAF y  
x*loACee.  
  //得到欲修改键的句柄 2 Ft0C2  
n&2=6$*,k  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); 7':5  
ND9 n1WZ&x  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); )H[h53bIq  
3oppV_^JdT  
   RegCloseKey(hResult); qHC*$v#.V?  
0,vj,ic*WX  
  //修改注册表相应的值并释放键句柄 KV^:sxU  
)9A<fwpN  
  } nU?Xc(Xy  
}6uV]V{  
&;NNU T>Q  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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