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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 >\<eR]12  
Oj_]`  
VC修改注册表的方法与函数 Y=G`~2Pr=  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 x cAs}y}  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 `b8nz 7  
dX)a D $m  
通过修改注册表实现IE换貌 |rk.t g9  
我们都知道,在注册表中,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() 06%-tAq:  
\UZGXk  
  { 99ZWB  
:qbU@)p*  
   if(AddressNum==0){ $RY-yKmi  
u_' -vZ_  
  AfxMessageBox("没有可应用的选项!"); t*H2;|zn_  
y@I 9>}"y  
   return; 7afG4 (<k  
:E6*m\X!3  
   } {c_bNYoE  
|"9&F  
   CString address; 7\98E&  
_d3Z~cH  
   int sel=m_address1.GetCurSel(); 6}N`YOJ.  
L5 `k3ap|  
   if(LB_ERR ==sel){ \&kj#)JYA  
M KW~rrR  
  AfxMessageBox("请先选中要应用的选项!"); WFahb3kx  
gdTW ~b  
   return; ]R)wBug  
8=L"rekV_  
   } {v]L|e%{  
a5t&{ajJ  
   m_address1.GetText(sel,address); |X:`o;Uma  
uXFI7vV6P  
  //取得所需加入的网址字符串 /mz.HCs  
Ro9:kEG$  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; 6Y ]P7j  
|}:}14ty  
   HKEY hResult; &nr{-][  
^P~,bO&H.Z  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); _|12BVq  
_";w*lg}  
  //得到欲修改键的句柄 rrRv 7J&Q  
5?`4qSUz  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); V? tH/P  
.tG3g:  
   RegCloseKey(hResult); ,hI$nF0}p  
vFdI?(c-  
  //修改注册表相应的值并释放键句柄 V':A!  
@br)m](@  
  } vb>F)po1}  
sS ?A<D  
  2.给工具条指定用户特定的背景图案 Izu____  
d"?"(Q_8n  
  void CJhfDlg::OnAddBackGround() m85ZcyW1T  
O-V] I0  
  { myX&Z F_9  
Q >[>{N&\  
   if(PictureNum==0){ KO8{eT9d  
[XI:Yf  
  AfxMessageBox("没有可应用的选项!"); P!f0&W  
SzB<PP2  
   return; 'J} ?'{.  
0 `7y Pq*  
   } C=o-3w  
,i}EGW,9q  
   CString picture; M| Gl&   
)-[$m%  
   int sel=m_PicList.GetCurSel(); WZ6{9/%:  
SS%Bde&<{  
   if(LB_ERR ==sel){ q7KHx b  
c]x-mj =  
   AfxMessageBox("请先选中要应用的选项!"); L:Rg3eo  
kJuG haO  
   return; CtN\-E-  
wg)Bx#>\L:  
   } 7Ji'7$  
)C?H m^ #  
   m_PicList.GetText(sel,picture); a+lNXlh=  
%$zak@3%'  
  //取得所需加入背景图案文件路径 ;5X~"#%U_  
({Md({|  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; \jk* Nm8;  
l2 n`fZL  
   HKEY hResult; NbU4|O i  
t^MTR6y+8  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); AcnY6:3Y|  
} G{"Mp4  
   //得到欲修改键的句柄 Rq+7&%dy  
BV@q@C  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); W*S4gPGM  
5TpvJ1G  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); ,^e2ma|z  
>2>/ q?  
   RegCloseKey(hResult); HN`qMGW^  
 q%d'pF  
  //修改注册表相应的值并释放键句柄 ?m~1b_@A{  
08jk~$%  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); u `xQC /  
\e4AxLP  
  //得到欲修改键的句柄 }U'9 d#N  
6X A(<1P  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); =gSc{ i|  
REU&8J@k&?  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); VOr: G85*s  
~tfd9,t  
   RegCloseKey(hResult); 9teP4H}m  
.u ikte  
  //修改注册表相应的值并释放键句柄 Y5CkCF  
\8ZVI98  
  } y7h^_D+Ce  
_/Ve~( "  
BJ3<"D{.*4  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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