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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 c1StA  
~T&X#i  
VC修改注册表的方法与函数 #K/#-S  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 e{d$OzT) V  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 ;\t(c  
ni3A+Y0  
通过修改注册表实现IE换貌 =Lr# *ep[  
我们都知道,在注册表中,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() >{juw&Uu  
J+*n}He,  
  { 8C2!Wwz`J8  
VB{G% !}  
   if(AddressNum==0){  Fr9_!f  
=eG:Scoug?  
  AfxMessageBox("没有可应用的选项!"); el,n5O Z7  
[ ]=}0l<J  
   return; U &y?3  
8wA'a'V.  
   } sg,9{R ^  
2graLJ?9Z  
   CString address; 9_pOV%Qs  
+6 x:+9S  
   int sel=m_address1.GetCurSel(); xiQ;lE   
tNCKL. yU  
   if(LB_ERR ==sel){ i- r y5x  
jVdB- y/r  
  AfxMessageBox("请先选中要应用的选项!"); u1 (8a%ZC  
3/2G~$C  
   return; n\H.NL)  
6-uB[$ko  
   } F% K}&3  
gnU##Km|  
   m_address1.GetText(sel,address); +4k7ti1Qb  
q=cH ^`<.  
  //取得所需加入的网址字符串 ,?s: s&4  
y&+Sp/6BYA  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; ]}dAm S/  
!:Clzlg   
   HKEY hResult; Q GDfX_  
8BwJWxBQ  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); h-[FUPfuw  
:KJZo,\  
  //得到欲修改键的句柄 N^K@$bs4^  
G7H'OB &  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); rfxLCiV  
Hf$LWPL)lM  
   RegCloseKey(hResult); KmRxbf  
JZB@K6 ~dO  
  //修改注册表相应的值并释放键句柄 d!]_n|B@9  
X7& ^"|:  
  } Y/< ],1U  
?TVR{e:  
  2.给工具条指定用户特定的背景图案 Fs)m;C  
d512Y[ R  
  void CJhfDlg::OnAddBackGround() .(2ui~ed  
$qj||zA  
  { Md,KW#  
=qVD"Z]z  
   if(PictureNum==0){ ?]u=5gqUU  
{H%1sI  
  AfxMessageBox("没有可应用的选项!"); 0CRk&_ht  
~b.e9FhdA  
   return; S4BU!  
0|_d{/VK4  
   } >R}p*=J  
9q !./)  
   CString picture; _m|Tr*i8  
l@ W?qw  
   int sel=m_PicList.GetCurSel(); O* 7` Waag  
Vy[ m%sEP  
   if(LB_ERR ==sel){ |#=4]]>m  
,BG L|5?3z  
   AfxMessageBox("请先选中要应用的选项!"); 9N]V F'  
o2M4?}TpIV  
   return; Y:} !W  
|VD}:  
   } )$e_CJ}9e  
7cJh^M   
   m_PicList.GetText(sel,picture); fbK`A?5K  
LdM9k(  
  //取得所需加入背景图案文件路径 OAXF=V F#  
vtVc^j4  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; #y&O5    
L@HWm;aN  
   HKEY hResult; n:wZL&ZV0  
Z>zW83a  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); G;3N"az  
OwM.N+ z#T  
   //得到欲修改键的句柄 * >XmJ6w  
oaJnLd90W  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); c$HZvv  
Td6"o&0A!  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); s5'So@L8  
e[a?5,s2  
   RegCloseKey(hResult); Xm! ;  
WMLsKoby  
  //修改注册表相应的值并释放键句柄 xK3}z N$T  
R87e"m/C%  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); B> LL *  
H o;bgva  
  //得到欲修改键的句柄 |}>;wZ[7  
o7W1sD1O  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); \6U$kMGde  
$pg1Av7l  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); V;#bcr=Z<J  
sjj*7i*  
   RegCloseKey(hResult); e2PM^1{_  
(G 3S+T 9  
  //修改注册表相应的值并释放键句柄 u9}k^W)E  
12,,gwh  
  } <>FpvdB  
ZBAtRs  
3bW(VvgcL4  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
批量上传需要先选择文件,再选择上传
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八