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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 1A^1@^{m'  
1%jH^,t/m  
VC修改注册表的方法与函数 p,;mYms  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 j=9ze op %  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 2d8=h6  
6{.J:S9n   
通过修改注册表实现IE换貌 _f|/*. @Q  
我们都知道,在注册表中,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() {fU?idY)c  
=Dk7RKoHF  
  { yj zK.dM  
TF\sP8>V  
   if(AddressNum==0){ 5)`h0TK  
/c#l9&,  
  AfxMessageBox("没有可应用的选项!"); ! Mo`^ t  
LG&5VxT=,<  
   return; |` "?  
2m"_z  
   } $P nLG]X  
a$$ Wt<&Y  
   CString address; ne*#+Q{E  
#wjH4DT  
   int sel=m_address1.GetCurSel(); u-szt ?O|  
:u/mTZDi  
   if(LB_ERR ==sel){ 41yOXy ;~l  
0x~`5h  
  AfxMessageBox("请先选中要应用的选项!"); e:E# b~{  
ah+j!e  
   return; PsbG|~  
2h q>T&8  
   } uR_F,Mp?%u  
CGZ^hoh/  
   m_address1.GetText(sel,address); 6/1$< !WH  
V`bs&5#Sx  
  //取得所需加入的网址字符串 >1ZJ{se  
($>XIb9f  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; sS9%3i/>  
TzKK;(GX  
   HKEY hResult; wkBL=a  
3?`"  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); z"UPyW1?  
p `P~i&_  
  //得到欲修改键的句柄 c AEokP  
)yj:PY]  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); qyyq&  
Q9slfQ  
   RegCloseKey(hResult);  g_q<ze  
cp%ii'  
  //修改注册表相应的值并释放键句柄 ;GOz>pg  
NY!jwb@%  
  } fu]N""~  
ipjkZG@  
  2.给工具条指定用户特定的背景图案 3Aj*\e0t  
o`6|ba  
  void CJhfDlg::OnAddBackGround() }l;Lxb2`  
Yb:pAzw6  
  { /;oqf4MF  
q3S+Y9L  
   if(PictureNum==0){ T)SbHp Y  
H?Jm'\~  
  AfxMessageBox("没有可应用的选项!"); Z<"K_bj   
> 0.W`j(s  
   return; dR+1aY;  
4!%F\c46  
   } B42sb_  
zwr\:Hu4  
   CString picture; Yc;ec9~  
F]_cbM{8/  
   int sel=m_PicList.GetCurSel(); q SD9Pue  
=k{`oO~:9+  
   if(LB_ERR ==sel){ &y\sL"YL!  
s'u(B]E  
   AfxMessageBox("请先选中要应用的选项!");  &`Ck  
X?o( b/F -  
   return; o2uj =Gnx  
z$[C#5+2  
   } >oJkJ$|wU  
o6L9UdT   
   m_PicList.GetText(sel,picture); |d}MxS`^  
\40 YGFO  
  //取得所需加入背景图案文件路径 &.N $  
r;m`9,RW  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; |vILp/"9=W  
%*W<vu>H  
   HKEY hResult; SEd5)0X^  
g^~Kze  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); ~cqryr9  
P Sx304  
   //得到欲修改键的句柄  76H!)={  
'2nqHX D  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); ig_2={Q@  
;[$n=VX`  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); tIuoD+AW  
nII^mg~  
   RegCloseKey(hResult); sl|_=oXT  
B0Xl+JIR#  
  //修改注册表相应的值并释放键句柄 I021p5h|  
#A<P6zJXR  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); 0q6I;$H  
Ee2c5C!|C  
  //得到欲修改键的句柄 N_DT7  
${hz e<g  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); Tg ?x3?kw  
f CcD&<%  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); aT!;{+  
hOk00az  
   RegCloseKey(hResult); ,mFsM!|  
csQfic  
  //修改注册表相应的值并释放键句柄 xWX*tJ4  
Qt+:4{He  
  } b,^*mx=  
;<wS+4,  
XbXA+ey6  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八