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

VC编程改造IE浏览

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。 )p/=u@8_f  
55>" R{q  
VC修改注册表的方法与函数 6Q.{llO  
注册表是由树干和键组成的,对注册表的修改便是对键的修改。 wVvqw/j*f  
首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。 H})Dcg3  
H-/; l54E  
通过修改注册表实现IE换貌 v+!y;N;Q  
我们都知道,在注册表中,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() .])>A')r  
Qq,i  
  { ?q d,>  
)(:+q(m  
   if(AddressNum==0){ 3d,-3U  
05l0B5'p  
  AfxMessageBox("没有可应用的选项!"); [K/O5_  
a"0B?3*r46  
   return; RLYU\@kK?  
5u2{n rc  
   } B`?N,N"  
g,t3OnxS?  
   CString address; !Y ;H(.A/  
F[>7z3I  
   int sel=m_address1.GetCurSel(); 1fz*S IjG  
 ${A5-  
   if(LB_ERR ==sel){ *'UhlFed  
'i@,~[Z4  
  AfxMessageBox("请先选中要应用的选项!"); B#HV20\?v  
g\ErJ+i  
   return; =)(3Dp  
E:uReT  
   } Z~r[;={,  
Yw6DJY  
   m_address1.GetText(sel,address); vVI6m{zYV  
4` '8fe/"  
  //取得所需加入的网址字符串 y bo#K  
N=OS\pz  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Main"; ^y:FjQC:  
c u\ls^  
   HKEY hResult; ]vm\3=@}9  
c5X`_  
  RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); ANckv|&'v  
{SF[I  
  //得到欲修改键的句柄 .CVUEK@Z4  
X Y~;)<s_  
   SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address); %oAL  
zL9VR;q  
   RegCloseKey(hResult); uA~YRKer  
}KK2WJp#M  
  //修改注册表相应的值并释放键句柄 \M7I&~V  
CXTt(-FT  
  } Yx6hA#7I  
+AB6lv  
  2.给工具条指定用户特定的背景图案 :bwM]k*$  
U);OR  
  void CJhfDlg::OnAddBackGround() >[a FOA  
$Z/klSEf  
  { HeCcF+  
\@i=)dA  
   if(PictureNum==0){ <D;MT96SG  
JL.5QzA  
  AfxMessageBox("没有可应用的选项!"); QjLji +L  
[(1O"  
   return; Y[Es  
#Rc5c+/(  
   } K'NcTw#f  
r:-WzH(Ms  
   CString picture; ,*dzJT$k  
` K w7"  
   int sel=m_PicList.GetCurSel(); 6)ycmu;!$  
Uan,H1a   
   if(LB_ERR ==sel){ s;J\Kc?"|  
+jtA&1cf  
   AfxMessageBox("请先选中要应用的选项!"); gv9=quG  
;W0]66&  
   return; W}h|K:-S  
_9NVE|c;  
   } a+41Ojv (  
%w7m\nw@  
   m_PicList.GetText(sel,picture); .B>B`q;B  
. |uLt J  
  //取得所需加入背景图案文件路径 7UKYmJk.  
&8sV o@Pa  
   CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar"; Tr&E4e  
7 jjU  
   HKEY hResult; uUG*0Lj  
# .<V^  
   RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult); 1TjZ#yP%1  
m"4B!S&Fc(  
   //得到欲修改键的句柄 yG&2UqX  
6e.v&f7(  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture); bC~~5Cm  
)p8I @E  
   SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture); i[150g?K  
5h8o4  
   RegCloseKey(hResult); xQu eE{  
cS|VJWgTZ  
  //修改注册表相应的值并释放键句柄 gi]ZG  
>|3a 9S  
   RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult); sS!w}o2X  
e"Rm_t  
  //得到欲修改键的句柄 5+P@s D  
=MLf[   
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture); !gH 9ay  
Y)XvlfJ,h?  
   SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture); rg5]&<Vq8  
\t3qS eWc/  
   RegCloseKey(hResult); `qiQ$kz  
M)!skU   
  //修改注册表相应的值并释放键句柄 *7" L]6  
dvjTyX  
  } ;GsQR+en  
RY=1H  
aMK~1]Cx  
以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

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

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

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

描述
快速回复

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