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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 KM li!.(b  
Lgp{  hK  
VC修改注册表的方法与函数 OV/H&fe  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 x`~YTOfYk  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 mrWPTCD{  
5IE3[a%X  
通过修改注册表实现IE换貌 ?!TFoD2'  
我们都知道,在注册表中,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() {~q"Y]?  
`u6CuH5  
  { MIma:N_c  
'[(]62j  
   if(AddressNum==0){ '0q.zzv|_  
+9Q,[)e r  
  AfxMessageBox("没有可应用的选项!"); 3kfrOf.4h  
3+vbA;R  
   return; N$]B$vv  
,yc_r= _  
   } eA q/[(  
Cge@A'2  
   CString address; yTJ Eo\g/@  
&iKy  
   int sel=m_address1.GetCurSel(); =`Ii ?xo  
z7TMg^9 #  
   if(LB_ERR ==sel){ Z 0&=Lw  
hK^(Y  
  AfxMessageBox("请先选中要应用的选项!"); @'n07 5)h  
h|~I'M]*  
   return; JC6?*R  
d8D028d  
   } =D-u".{  
=T"R_3[NC  
   m_address1.GetText(sel,address); iB4`w\-o  
D2}N6i  
  //取得所需加入的网址字符串 NzS(, F  
pGZiADT  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; $O nh2 ^  
]q^6az(Ud  
   HKEY hResult; #<h//<  
+}3l$L'bY  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); u7||]|2  
E;v#'  
  //得到欲修改键的句柄 m8[XA!,  
xf2|9Tqt  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); 7m.#No>^  
yuP1*QJ%  
   RegCloseKey(hResult); YoDL/  
g{ ()   
  //修改注册表相应的值并释放键句柄 b5i ehoA  
EKu%I~eM  
  } xhcFZTj/(  
T)c<tIr6  
  2.给工具条指定用户特定的背景图案 P{m(.EC_  
m3T=x =  
  void CJhfDlg::OnAddBackGround() 2WO5Af%  
j!c~%hP  
  { 5aZbNV}-  
i,V,0{$  
   if(PictureNum==0){ =D~>$ Y  
JjMa   
  AfxMessageBox("没有可应用的选项!"); i}Q"'?  
G0%},Q/  
   return; >U\1*F,Om,  
bW-sTGjRD  
   } |hl:!j.t  
gOy;6\/  
   CString picture; l+nT$IPF  
}G/!9Zq  
   int sel=m_PicList.GetCurSel(); UaCfXTG  
<aQ<Wy=\  
   if(LB_ERR ==sel){ RCqd2$K"J+  
A3mvd-k  
   AfxMessageBox("请先选中要应用的选项!"); ?3 S{>+'  
0Sj B&J  
   return; 9%Eo<+my h  
?lca#@f(  
   } AZ.$g?3w  
a^o'KN{  
   m_PicList.GetText(sel,picture); LvqWA}  
)FpizoVq0  
  //取得所需加入背景图案文件路径 *fCmZ$U:{  
q0C%">>1 #  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; vSnGPLl  
(S~kNbIa  
   HKEY hResult; (b;Kl1Ql]  
zC,c9b  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); i 558&:  
=u-q#<h4 ;  
   //得到欲修改键的句柄 %?hvN  
g@2KnzD  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); Xj9\:M-  
a[_IG-l|i4  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); X5pb9zRq  
uG$*DeZti  
   RegCloseKey(hResult); $35C1"  
lqTc6@:D  
  //修改注册表相应的值并释放键句柄 VUi> ]v/e  
)+Y"4?z~  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); =PF2p'.o  
hd*GDjmRQ/  
  //得到欲修改键的句柄 B:Y F|k}T  
W{%X1::q$  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); VqUCcT  
B*(BsXQLY  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); M5a&eO  
xa'^:H $X  
   RegCloseKey(hResult); *Z$W"JP  
ck< `kJ`b  
  //修改注册表相应的值并释放键句柄 ~t<G gNI  
.?vHoNvo  
  } 8y']kVg  
9}wI@  
43 vF(<r&f  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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