自从微软捆绑了IE以后,网虫们便注定了要永远地面对那一成不变的微软模式:窗口、按钮和
www.microsoft.com网站,从用户的角度,我们希望能够拥有自己特色的IE;从商业运作角度,商人希望无处不有他们公司的宣传信息,希望IE一经运行便可自动进入他们的网站。下面笔者介绍一种用VC6编程,通过修改注册表来改变IE面貌的方法。
gUYTVp Vf PGuPw'2;[ VC修改注册表的方法与函数
X_)x Fg'k 注册表是由树干和键组成的,对注册表的修改便是对键的修改。
>)k[085t 首先,要对键修改需先得到要修改键的句柄,VC中为键打开一个句柄,可采用的函数为LONG RegOpenKey命令;然后才能对键进行修改,用SetRegValue命令;最后需要释放得到的键句柄,用RegCloseKey(hResult)命令。
""IPaNHQ w=^~M[%w 通过修改注册表实现IE换貌
aO2zD<d 我们都知道,在注册表中,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()
)k]{FM ]ZH6
.@| {
HcrlcxwM\i 5UX- Qqr if(AddressNum==0){
Tq?f5swsI
W{1l?Wo AfxMessageBox("没有可应用的选项!");
7|
`_5e -![{Zb@ return;
V0n8fez
b #TcX5 }
yZb})4. %.8(R
& CString address;
t| B<F t^ "V5_B^Gzb] int sel=m_address1.GetCurSel();
V7vojm4O ]#7baZ if(LB_ERR ==sel){
vzF6e eaD Q |hBGH9:B AfxMessageBox("请先选中要应用的选项!");
j"+6aD/lv :*-O;Yw?S@ return;
D;OPsNQ {mLv?"M] }
N:EljzvP} =6N=5JePB m_address1.GetText(sel,address);
ReGT*+UN 3@* ~>H //取得所需加入的网址字符串
*z]P|_:&G hl2|Ec CString strKey="Software\\Microsoft\\Internet Explorer\\Main";
@KJmNM1]V
&a6-+r HKEY hResult;
;CuL1N#I M
#%V%< RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult);
pV1;gqXNS 0*j\i@ //得到欲修改键的句柄
<~e*YrJ?- 5f75r SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address);
2o7o~r BF"eVKA RegCloseKey(hResult);
M>i *e `W7;- //修改注册表相应的值并释放键句柄
(l/i# sosIu }
.!'rI7Kz'i )&-n-m@E 2.给工具条指定用户特定的背景图案
3%u: c]-wF c~d*SDca void CJhfDlg::OnAddBackGround()
yr)e."#S ZIc-^&`r= {
g^U-^f ]SN5&S if(PictureNum==0){
COD^osM@ 2\gbciJ[{( AfxMessageBox("没有可应用的选项!");
z_). - 5Gz~,_ return;
PGb}Y { r^Soqom3 }
@@}muW>;T @[1,i~H CString picture;
9QkssI S)"vyGv int sel=m_PicList.GetCurSel();
bHzZ4i ;cb='s if(LB_ERR ==sel){
BJqb'Hjd :ra[e(l9 AfxMessageBox("请先选中要应用的选项!");
`g{eWY1l y }h2 return;
YL[y3&K 2(GLc*B> }
=wa5\p/ -CPLgT m_PicList.GetText(sel,picture);
FH;)5GGnv fQw|SW //取得所需加入背景图案文件路径
Eb8z`@p GB}X CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar";
y;hco wD@ wOC
HKEY hResult;
$:?=A5ttuo %F<3_#Y RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult);
t'C9; N9z!-y'X //得到欲修改键的句柄
K81&BVx/ + Cq&~<B SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture);
5'xZ9K iT1HbAT] SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture);
wh^I|D?" \d w ["k RegCloseKey(hResult);
myB!\WY
:m(" oC@} //修改注册表相应的值并释放键句柄
Tn$|
Xa+:s NE Z ]% RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult);
k7z{q/]M 4Q\~l( //得到欲修改键的句柄
n>%TIoY eT8h:+k SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture);
Bv`3T Af2 P?y{9H* SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture);
*Oy%($' ?[lKft
RegCloseKey(hResult);
+jp^ y{nX 6 //修改注册表相应的值并释放键句柄
,Nev7X[0 >JN[5aus }
M5S<N_+Pe ?QzN\fY; RY*s }f 以上只是从几个简单的方面演示了VC下通过修改注册表的方法实现为IE换貌。读者可以根据以上的代码进行更个性化的修改,以实现真正意义上的个性化IE。