自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和
www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。
~V$|i" A\#iXOd VC修改注册表的方法与函数
x:QgjK 注册表是由树干和键组成的,对注册表的修改便是对键的修改。
;$z$@@WC 首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。
P LueVz uV=Qp1~ 通过修改注册表实现IE换貌
v'BZs 我们都知道,在注册表中,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()
|_yYLYH'
O9r>E3-q {
L:z?Zt)| rfq;%C if(AddressNum==0){
D&S26jrZ #
0Lf<NZ AfxMessageBox("没有可应用的选项!");
;s52{>&F] 9k 6r_G" return;
^.>jGI%rB (7 r<'' }
&-mX , IV)<5'v CString address;
I6Ce_|n
?k "U\4:k`: int sel=m_address1.GetCurSel();
Jej` ;I _vZ"4L+Iw+ if(LB_ERR ==sel){
!&"<oPjr+ t
89!Ihk AfxMessageBox("请先选中要应用的选项!");
Ovj^IjG-` $_x^lr return;
mVR P~:+ *guoWPA|Ij }
d20gf:@BM k70|'* Kh m_address1.GetText(sel,address);
B`
k\ EL' E>}4$q[r //取得所需加入的网址字符串
X_7UJ
jFw" 3}/&w\$ CString strKey="Software\\Microsoft\\Internet Explorer\\Main";
D#o}cC. 2/0v B> HKEY hResult;
n-%s8aaVf APO>y RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult);
o0pII )v h}xeChw] //得到欲修改键的句柄
%%4t~XC# %wSj%>&-R SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address);
*Q,0W:~- z-b*D}& RegCloseKey(hResult);
K=,F#kn 3#TV5+x*"` //修改注册表相应的值并释放键句柄
GxKqD;;u?= M6}3wM*4 }
'60 L~`K K5XK%Gl" 2.给工具条指定用户特定的背景图案
kbMYMx.[ Oj^,m.R void CJhfDlg::OnAddBackGround()
Q_Gi]M9 r3\cp0P;s {
PoT`}-9 |P%DkM*X if(PictureNum==0){
D&/L: z5r$M AfxMessageBox("没有可应用的选项!");
o5Q{/ IzpZwx^3'' return;
8A+SjJ4$ GO^_=EMR[ }
Grk@dZI G 8V, CString picture;
Bn(W"=1 H V;D?^F int sel=m_PicList.GetCurSel();
qIAoA. gwWN%Z" if(LB_ERR ==sel){
YE9,KVV;$n dtcIC0:[ AfxMessageBox("请先选中要应用的选项!");
6#Q K%[1!> Qu]z)";7 return;
7K5P8N
, mD/MJt5 }
7Ddaf> FGh]S-A m_PicList.GetText(sel,picture);
H
`(exa:w $O dCL //取得所需加入背景图案文件路径
E,f>1meN= p^'3Odd|O CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar";
PgRDKygE &