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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 Ao%;!(\I%  
T9c=As_EM  
VC修改注册表的方法与函数 n1Y3b~E?E  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 UT^-!L LB]  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 AIx,c1G]K  
g#=~A&4q  
通过修改注册表实现IE换貌 S!u`V3-s  
我们都知道,在注册表中,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() Ky qFeR  
+&T;jad2  
  { EK-Qa<[|  
W/U_:^[-  
   if(AddressNum==0){ <K#]1xCA  
[q MFLY$  
  AfxMessageBox("没有可应用的选项!"); v7L} I[f  
K~?M?sa  
   return; Tt0:rQ.  
=> PBdW  
   } * MJl(  
8olR#>  
   CString address; }iK_7g`yKa  
l9 K 3E<g  
   int sel=m_address1.GetCurSel(); <IX)D `mf  
}-e  
   if(LB_ERR ==sel){ ~[|zf*ZISG  
VHyP@JB  
  AfxMessageBox("请先选中要应用的选项!"); G?y'<+Awt  
y[}O(  
   return; pO~VI$7  
^aW?0qsH  
   } R]-$]koQO  
NW$C1(oT  
   m_address1.GetText(sel,address); f +#  
K}]0<\N  
  //取得所需加入的网址字符串 bwo{ Lw~  
6Wos6_  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; \n @S.Y?P  
(f5v{S6b(  
   HKEY hResult; e|L$e0  
R/yOy ^<  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); t;R drk  
=uYz4IDB  
  //得到欲修改键的句柄 'k9?n)<DW  
~vCfMV[F  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); S[TJ{ L(  
4HG@moYn@  
   RegCloseKey(hResult); f[@M  
0P5!fXs*  
  //修改注册表相应的值并释放键句柄 9}4EW4  
)6S;w7  
  } "dKYJ&$  
$J~~.PUXQ  
  2.给工具条指定用户特定的背景图案 NMSpi[dr  
a=55bEn  
  void CJhfDlg::OnAddBackGround() ~~.v*C[  
4b"%171  
  { J.`z;0]op  
!f(aWrw7e6  
   if(PictureNum==0){ :Rs% (Z  
iwHy!Vi-5  
  AfxMessageBox("没有可应用的选项!"); _HT*>-B  
0I.9m[<Fc  
   return; 3X+uJb2  
g5EdW=Dt,  
   } 0d-w<lg9  
b}G4eXkuj  
   CString picture; 2u[:3K-@,  
xHml" Y1  
   int sel=m_PicList.GetCurSel(); (3RU|4Ks  
}OeEv@^  
   if(LB_ERR ==sel){ dYg}qad5:  
@17hB h  
   AfxMessageBox("请先选中要应用的选项!"); q2I;Ly\3o  
 c|N!ZYJI  
   return; N*PF&MyB  
w"CcWng1  
   } ~3 {C &c  
(% fl  
   m_PicList.GetText(sel,picture); kT(}>=]g  
Nk-biD/J  
  //取得所需加入背景图案文件路径 1}E`K#  
JJnZbJti  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; SL;\S74  
Z=O2tR  
   HKEY hResult; 8s4y7%,|  
(D'Z4Y  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); \C3ir&  
<v?9:}  
   //得到欲修改键的句柄 >4:W:;R  
Ae,-. xJ  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); (/&IBd-  
JM{S49Lx  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); %h** L'~``  
H|='|k5Y.  
   RegCloseKey(hResult); 28[dTsd%  
F|*{Ma  
  //修改注册表相应的值并释放键句柄 d{.cIv  
a;Ic!:L  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); {~ yj]+Im  
PUB|XgQDY:  
  //得到欲修改键的句柄 r}i<cyL  
%$j)?e  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); 4C(vBKl  
NyD[9R?  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); D4yJ:ATO&  
s-eC')w~E  
   RegCloseKey(hResult); 0s = h*"[  
iTU 8WWY<  
  //修改注册表相应的值并释放键句柄 JMu|$"o&{  
%S8e:kc6  
  } U,C L*qTF  
#q~SfG  
^e$;I8l  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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