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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 ndDF(qHr  
/mp!%j~  
VC修改注册表的方法与函数 ?o6#i3k#'  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 =2( 52#pT  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 w{_g"X  
^fO9oPM|  
通过修改注册表实现IE换貌 Oh10X.)i  
我们都知道,在注册表中,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() J,:;\Xhl  
sl@>GbnS  
  { /%7&De6Xg  
/DHV-L  
   if(AddressNum==0){ 6hR ` sE  
u' kG(<0Y  
  AfxMessageBox("没有可应用的选项!"); tK uJ &I~  
P~lU`.X}  
   return; N}#"o  
S?JGg.)  
   } -CFy   
^^!G{ *F  
   CString address; G `3{Q7k  
>iG3!Td)y  
   int sel=m_address1.GetCurSel(); UEx<;P8rP  
"WtYqXyd  
   if(LB_ERR ==sel){ KlS#f  
a @3s71  
  AfxMessageBox("请先选中要应用的选项!"); Y d~J(  
(`#z@,1  
   return; (xTGt",_Jo  
NySa%7@CD  
   } !"RRw&0M  
9I<~t@q5e@  
   m_address1.GetText(sel,address); >/ A'G  
`x>6Wk1  
  //取得所需加入的网址字符串 NMhpKno  
#rr!A pJ  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; ^\`a-l^  
v#s*I/kw  
   HKEY hResult; ="vg/@.>i  
8* #$ 3e  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); [iO8R-N8d  
88S:E7 $  
  //得到欲修改键的句柄 [~\]<;;\  
L{r4hL [  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); E6O!e<ze^  
s>\^dtG7  
   RegCloseKey(hResult); EVaHb;  
C'gv#!Q  
  //修改注册表相应的值并释放键句柄 +|X`cmnuU  
3pW4Ul@e  
  } $%31Gk[I  
Dic|n@_Fy  
  2.给工具条指定用户特定的背景图案 MXEI/mDYK  
mPQT%%MF  
  void CJhfDlg::OnAddBackGround() u=]*,,5<  
0QfDgDX  
  { Jn| i!  
 #$2/<  
   if(PictureNum==0){ }#4Ek8nFR  
#l: 1R&F  
  AfxMessageBox("没有可应用的选项!"); ]e"!ZR?XJ  
, .;0xyc  
   return; W+"^!p|  
6~W@$SP,F  
   } QE)zH)(  
Y[R>?w  
   CString picture; >!']w{G  
VEI ct{  
   int sel=m_PicList.GetCurSel(); 8{i}^.p  
7D:rq 8$\  
   if(LB_ERR ==sel){ 55$';gh,9  
e`7>QS ;.  
   AfxMessageBox("请先选中要应用的选项!"); W9tZX5V1  
m=^]93+  
   return; pl1CPxSdO  
l}VE8-XB  
   } /(5"c>  
+D]raU  
   m_PicList.GetText(sel,picture); g([:"y?  
xt,Qn460;  
  //取得所需加入背景图案文件路径 Bz-jy.  
JOt(r}gU  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; 9.M'FCd~M  
r=Lgh#9S  
   HKEY hResult; O |P<s+  
O=}Rp 1  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); j+ -r(lZ  
b-  t  
   //得到欲修改键的句柄 eU%49 A  
q: FhuOP  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); -#;xfJE  
*4`5&) `  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); h`1<+1J9  
' :B;!3a0d  
   RegCloseKey(hResult); jUA~}DVD  
/ugyUpyg  
  //修改注册表相应的值并释放键句柄 .06D_L"M  
G)}[!'<rR  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); ]Rxo}A  
LiT%d  
  //得到欲修改键的句柄 #d\&6'O  
..u{v}4&  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); H2R3I<j  
nD*iSb*  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); P%e7c,  
EyPJ Jc8  
   RegCloseKey(hResult); 0N>K4ho6{  
YWH>tt 9  
  //修改注册表相应的值并释放键句柄 g_syGQ\  
/ie&uW y  
  } g[pU5%|"[  
TxG@#" ^g}  
[//i "Nm  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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