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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 G:W>I=^DaR  
N587(wZ  
VC修改注册表的方法与函数 ^|!I +  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 c{+AJ8  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 }8-\A7T  
ZR0r>@M3v<  
通过修改注册表实现IE换貌 %+)o'nf"U  
我们都知道,在注册表中,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() @}-r&/#  
->^~KVh&  
  { N|g;W  
)~J>X{hy  
   if(AddressNum==0){ !7bw5H  
~EzaC?fQ  
  AfxMessageBox("没有可应用的选项!"); G oM ip8'u  
A3N]8?D  
   return; e({9]  
N6OMY P1  
   } Y-mK+1 2  
%V`F!D<D  
   CString address; lv&mp0V+  
 +=q)  
   int sel=m_address1.GetCurSel(); YgUH'P-  
*l+OlQI0+  
   if(LB_ERR ==sel){ ?>c=}I#Ui-  
>LC<O.  
  AfxMessageBox("请先选中要应用的选项!"); xo}b= v  
D]a:@x`+Bz  
   return; wxg^Bq)D*R  
dy__e^qi  
   } rl#vE's6.e  
/ $  :j  
   m_address1.GetText(sel,address); "@A![iP  
0MMEo~dih  
  //取得所需加入的网址字符串 s=6}%%q6  
B(?Yw>Xd[  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; =]`lN-rYw  
u]-_<YZ'B  
   HKEY hResult; 1n5(S<T  
@`opDu!  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); #`TgZKDg2  
TGXa,A{  
  //得到欲修改键的句柄 B vo5-P6XY  
>(w2GD?  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); `afIYXP  
`p b5*h6r!  
   RegCloseKey(hResult); RO;Bl:x4  
p(;U@3G  
  //修改注册表相应的值并释放键句柄 do*}syQ`O  
I:bD~F b3  
  } vu!d)Fy  
n79QJl/  
  2.给工具条指定用户特定的背景图案 ;8WZx  
T{qTj6I  
  void CJhfDlg::OnAddBackGround() w=]Ks'C]  
%W,D;?lEo>  
  { X"gCR n%tn  
A[IL H_w  
   if(PictureNum==0){ NjPDX>R\K  
=deMd`=J  
  AfxMessageBox("没有可应用的选项!"); fDE%R={!n5  
C51bc6V  
   return; CQ`=V2:"ON  
LE5.b]tv2  
   } ~R$~&x(b  
a?|vQ*W  
   CString picture; *<N3_tx"  
>3 yk#U|7}  
   int sel=m_PicList.GetCurSel();  [,n c  
~DRmON5 M  
   if(LB_ERR ==sel){ "mL++>ZSQ  
|@,|F:h<M  
   AfxMessageBox("请先选中要应用的选项!"); Sxdsv9w  
f/WQ[\<!I  
   return; iGB_{F~t4}  
T=hho Gn  
   } v_e9}yI   
J"=1/,AS  
   m_PicList.GetText(sel,picture); } VJfJ/  
vZ/6\Cz  
  //取得所需加入背景图案文件路径 }X GEX:1K  
L9pvG(R%  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; lis/`B\x  
*  tCS  
   HKEY hResult; JN^ &S  
SN4Q))dAU  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); `%+ mO88o  
]E  =Iu  
   //得到欲修改键的句柄 *Av"JAX  
&g2 Eptx#  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); G?f\>QSZ  
q$1PG+-  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); ]yjl~3  
9/+Nj/  
   RegCloseKey(hResult); :o:e,WKxb  
%WqNiF0-  
  //修改注册表相应的值并释放键句柄 go+Q~NV   
UobyK3.%  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); H|cNH=  
85 EQ5yY  
  //得到欲修改键的句柄 #%J5\+ua  
$+.l*]  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); l3N I$Z u  
7t,t`  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); dU\%Cq-G)  
*[=bR>  
   RegCloseKey(hResult); "V{yi!D{<  
G:x*BH+  
  //修改注册表相应的值并释放键句柄 e><5Pr)  
7~#:>OjW  
  } E\gim<]  
\{Q?^E  
S+TOSjfis  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

您目前还是游客,请 登录注册
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八