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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 xAwP  
W3+;1S$k  
VC修改注册表的方法与函数 vVhSl$mW  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 mzO5&h7  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 6;C2^J@  
953GmNZ7  
通过修改注册表实现IE换貌 HIGTo\]Z  
我们都知道,在注册表中,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() Y{KN:|i.!  
QLxe1[qI  
  { D :)HK D.  
hKVb#|$  
   if(AddressNum==0){ = }ELu@\V[  
s4uZ>  
  AfxMessageBox("没有可应用的选项!"); }A}cq!I^  
:>C D;  
   return; *epK17i=  
1y3)ogL  
   } %OJ"@6A  
fQU5'wGp  
   CString address; cb=ixn  
%E8HLTEvl  
   int sel=m_address1.GetCurSel(); ~@#s<a,%;  
j'x@P+A  
   if(LB_ERR ==sel){ @Os0A  
I*z|_}$  
  AfxMessageBox("请先选中要应用的选项!"); 8\F|{vt#  
? KDg|d  
   return; `3eQ#,G!  
5{gv \S1  
   } }wB!Bx2  
\zh`z/=92  
   m_address1.GetText(sel,address); zYxA#TZL  
Ts\PZQ!q  
  //取得所需加入的网址字符串 ! FVD_8  
RD6>\9  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; x.9[c m-!  
yxtfyf|9 '  
   HKEY hResult; I!"/I8Y  
6&"*{E  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); wG&Z7C b  
|w"G4J6ha  
  //得到欲修改键的句柄 i,zZJ=a$  
a8YFH$Xh  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); CZ!gu Y=  
naiQ$uq0  
   RegCloseKey(hResult); w7E#mdW  
U#x`u|L&6  
  //修改注册表相应的值并释放键句柄 ~OMo$qt`lP  
|H(i)yu"5'  
  } (zPsA  
_b`/QSL  
  2.给工具条指定用户特定的背景图案 N(e>]ui  
a51}~V1  
  void CJhfDlg::OnAddBackGround() ~Qd|.T  
RDU 'l^  
  { HBNX a  
|hS^eK_  
   if(PictureNum==0){ _1jbNQa  
\'r;1W  
  AfxMessageBox("没有可应用的选项!"); %+((F +[  
3, 3n  
   return; %J+ w9Z  
F0wW3+G  
   } 9!PM1<p  
"yK)9F[9Mo  
   CString picture; 2eRv{_  
?pdN!zOeL  
   int sel=m_PicList.GetCurSel(); de9e7.(2  
zjTCq; G  
   if(LB_ERR ==sel){ \maj5VlJ  
x6Tpt^N}  
   AfxMessageBox("请先选中要应用的选项!"); HqI[]T@  
`46|VQAx  
   return; S\ K[l/  
z%]3`_I  
   } _} j6Pw'  
g* -}9~  
   m_PicList.GetText(sel,picture); RT2&^9-  
- i{1h"  
  //取得所需加入背景图案文件路径 8PqlbLo1  
r3Kx  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; E<p<"UjcCJ  
sZwa#CQKq  
   HKEY hResult; Ld'3uM/  
tR .>d  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); v5I5tzt*%H  
L*P*^I^1  
   //得到欲修改键的句柄 u= Ga}  
NA YwuE-`  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); >_#A*B|  
_ t.E_K  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); mqBX1D`e2  
Bw<$fT`  
   RegCloseKey(hResult); S^N{=*  
/GO((v+J  
  //修改注册表相应的值并释放键句柄 ~(L&*/c  
=y^ g*9}_  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); S/yBr`  
Gx|/ Jq  
  //得到欲修改键的句柄 m;sYg  
UZL-mF:)&  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); .G}$jO}  
@7sHFwtar?  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); ,D.@6 bJW  
2h) *  
   RegCloseKey(hResult); .B! L+M< [  
MnQ 6 !1Z  
  //修改注册表相应的值并释放键句柄 ;T<'GP'/r  
SwO8d;e  
  } J=H8^4M  
()fYhk|W  
 ?QcS$i  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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