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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 A}5fCx.{  
VK:8 Nk_y  
VC修改注册表的方法与函数 ~@4'HMQ  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 syPWs57pH  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 `f9gC3Hk  
&aG*k*  
通过修改注册表实现IE换貌 BqH]-'1G  
我们都知道,在注册表中,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()  c</1  
qAY%nA>jO  
  { /nZ;v4  
vq!uD!lr  
   if(AddressNum==0){ 7dOyxr"H-  
zt=0o| k  
  AfxMessageBox("没有可应用的选项!"); %Dig)<yx  
<>Y?v C  
   return; &dR=?bz-A  
Q_p[k KH  
   } %o w^dzW  
p fT60W[m  
   CString address; x\\~SGd  
$uj(G7_  
   int sel=m_address1.GetCurSel(); 4 !#a3=_  
)92r{%N  
   if(LB_ERR ==sel){ o[1ylzk}+  
#VVr"*7$  
  AfxMessageBox("请先选中要应用的选项!"); -\,zRIOK  
+&|S'7&{  
   return; xV\5<7qk5g  
$uDqqG(^  
   } TDtAmk  
IMGP'g  
   m_address1.GetText(sel,address); A,gEM4  
v2+!1r7@  
  //取得所需加入的网址字符串 ^tH#YlV4>9  
ArK]0$T   
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; I?Aj.{{$G%  
9 QC.TG@  
   HKEY hResult; -&2B@]]  
'gso'&Uaj  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); uz3 0_aH  
CC^E_jT  
  //得到欲修改键的句柄 %^]?5a!  
k1 -~  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); #Q"O4 b:8  
FFKGd/:!  
   RegCloseKey(hResult); \ I`p|&vG  
3)=c]@N0  
  //修改注册表相应的值并释放键句柄 u3 0s_\  
[ ho (z30k  
  } xiblPF_n3  
.dMVoG5  
  2.给工具条指定用户特定的背景图案 :9t4s#.  
a->3`c  
  void CJhfDlg::OnAddBackGround() |JF@6  
e8=YGx^o`  
  { .;7> y7$*  
-O!/Jv"{,[  
   if(PictureNum==0){ rN)V[5R#M  
gJ$K\[+  
  AfxMessageBox("没有可应用的选项!"); I@#;nyAj"  
6NWn(pZ]p  
   return; _~u2: yl (  
c]-*P7W  
   } eYX5(`c[  
ufV!+$C)is  
   CString picture; m!tx(XsXU  
Z3TS,a1I4  
   int sel=m_PicList.GetCurSel(); !p/%lU65  
\55VqGyxu9  
   if(LB_ERR ==sel){ Vr[czfROz'  
k^"bLf(4  
   AfxMessageBox("请先选中要应用的选项!"); \!]hU%Un  
kX`[Y@nUN  
   return; q@hzo>[  
K14^JAdY/  
   } D]G)j  
ao_4mSB  
   m_PicList.GetText(sel,picture); :#~U<C@o  
KJ2Pb"s  
  //取得所需加入背景图案文件路径 WI> P-D  
7CXW#H  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; C'yppl%  
nrm+z"7  
   HKEY hResult; 3DgsI7-F  
sZ,Y60s8a  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); L"jY+{oLIJ  
B.r4$:+jb2  
   //得到欲修改键的句柄 ($w@Z/;  
~Nf})U  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); 66x?A0P  
$$APgj"|<  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); HB+|WW t>  
_A13[Mt3  
   RegCloseKey(hResult); xL|;VyD  
S"Lx%  
  //修改注册表相应的值并释放键句柄 NA3 \  
osARA3\Xt  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); tZ`Ts}\e  
xv{O^Ie+S  
  //得到欲修改键的句柄 Yim<>. !  
>_OYhgs1w  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); e:H26SW  
2{-ZD ,(u7  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); I&n  
X@@8"@/u|*  
   RegCloseKey(hResult); yRp"jcD  
# mize  
  //修改注册表相应的值并释放键句柄 {7TlN.(  
-7J|l  
  } ^7zu<lX  
}Sy=My89r  
n  -(  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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