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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 ?yeC j1X  
-\C6j  
VC修改注册表的方法与函数 gc[J.[  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 uCS  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 B4&pBiG&f6  
pAmI ](  
通过修改注册表实现IE换貌 u$p|hd d  
我们都知道,在注册表中,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() gdY/RDxn:  
DC7}Xly(  
  { =U`c }dhS  
>g0@ Bk  
   if(AddressNum==0){ 'X<uG x  
U2nRgd  
  AfxMessageBox("没有可应用的选项!"); 3g:+p  
<r3n?w8  
   return; x99 Oq!  
^V]DY!@k3_  
   } k T>}(G||  
7Q}@L1A9F,  
   CString address; F|{?GV%hF  
5B/\vLHg4  
   int sel=m_address1.GetCurSel(); FY*0gp  
Jo+C!kc  
   if(LB_ERR ==sel){ j/|qge4  
<qt%MM [Y  
  AfxMessageBox("请先选中要应用的选项!"); )pa|uH +N  
d's`~HOU2  
   return; *3Z#r  
tTp`e0L*m  
   } u5M{s;{11r  
ofCP>Z-  
   m_address1.GetText(sel,address); v"_#.!V  
4FdH:os  
  //取得所需加入的网址字符串 Z@A1+kUS  
RE$-{i  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; |XG7UH  
Kp;o?5H  
   HKEY hResult; Xrn~ ]P7  
Te#[+B?  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); _>64XUZ<n  
Q3Lqj2r  
  //得到欲修改键的句柄 XX6)(  
*.l=> #qF  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); ka%pS  
I!'(>VlP7  
   RegCloseKey(hResult); tRCd(Z,WY  
t[,\TM^h}0  
  //修改注册表相应的值并释放键句柄 KrH ;o)|  
x%&V!L  
  } '8 #*U  
N3RwcM9+;  
  2.给工具条指定用户特定的背景图案 \vQ (  
n//a;m  
  void CJhfDlg::OnAddBackGround() r:-WfDz.  
Z3{Qtysuv3  
  { 5UyK1e))  
r'?&VS-Cj  
   if(PictureNum==0){ t$iU|^'uV  
(6'Hzl^Kp  
  AfxMessageBox("没有可应用的选项!"); gk%ye&:f  
P 'k39  
   return; Wfy+7$14M  
hp}8 3.oA  
   } }clNXtN  
~VF,qspO  
   CString picture; Mq?21gW  
7?s>u937  
   int sel=m_PicList.GetCurSel(); 30"G%DFd  
%SXqJW^:  
   if(LB_ERR ==sel){ ;ecF~-oku  
ElxbHQj6  
   AfxMessageBox("请先选中要应用的选项!"); n1h+`nsf  
rD?o97  
   return; ]A[~2]  
K)ib{V(50  
   } k2;yl _7  
'"a8<7  
   m_PicList.GetText(sel,picture);  tvILLR  
dtm@G|Ij  
  //取得所需加入背景图案文件路径 0nAS4Az  
{S!~pn&^Y  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; T^t`H p  
q9^r2OO  
   HKEY hResult; Ye\%o[X  
|kD?^Nx  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); ww*F}}(  
Emo]I[<&q  
   //得到欲修改键的句柄 V qf}(3K0  
seim?LK  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); w:Vs$,  
R?R6|4  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); O^GTPYW  
UF4QPPH4  
   RegCloseKey(hResult); );vU=p"@  
@VFg XN  
  //修改注册表相应的值并释放键句柄 +dRTHz  
TkykI  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); pQD8#y)`C  
WD]dt!V%  
  //得到欲修改键的句柄 6}0#({s:R  
WqAP'x 1  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); 6O?O6Ub  
Z1zC@z4sUj  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); I| hG"i  
=`")\?z}  
   RegCloseKey(hResult); eZHi6v)i  
fO+;%B  
  //修改注册表相应的值并释放键句柄 va)\uXW.N  
~2H)#`\ac8  
  } Cv3H%g+as  
ZtiOf}@i\  
&E~7ty'  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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