起始页
网上有很多话题反映说在IE选项里了设置了新的首页,但是没有任何效果,除去软件劫持等原因以外,这都是对IE的首页读取策略没有搞清楚导致的。
在很久以前,大概是XP+IE6的时代,设置IE首页只需要设置一个注册表值就可以了
1 | [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main] |
自从IE8开始,首页的读取策略就变化了,浏览器启动后会依次访问以下位置来获取首页地址
第1个位置
1 | [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main] |
这里的权重最高,但是只会执行一次,浏览器读取后会删掉该值,也可以称为一次性首页。
第2个位置
1 | [HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main] |
与HKCU不同的是,这个值读取后不会自动删除,所以这里是锁定首页的最佳位置。
第3个位置
1 | [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\EUPP] |
如其名,这是一个缓存的首页地址,如果缓存地址和第6步中的地址不同,则会从第4步开始依次访问对应注册表位置的值来询问用户是否更改首页
第4个位置
1 | [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main] |
第5个位置
1 | [HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Internet Explorer\Main] |
第6个位置
1 | [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main] |
第7个位置
1 | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main] |
结论
对于锁定首页来说,修改第2个位置就行了,它优先级高,且不出现在IE选项里,普通用户无法通过更改IE设置来还原首页。
如果你想让IE以选项里的设置为准,只需要删除”BackupHomePage”和”First Home Page”即可,我这里提供一个写好的批处理
1
2
3
4
5
6
7
8 set HOMEPAGE=www.google.com
REG DELETE "HKCU\SOFTWARE\Microsoft\Internet Explorer\EUPP" /v "BackupHomePage" /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Internet Explorer\Main" /v "Start Page" /f
REG DELETE "HKCU\SOFTWARE\Policies\Microsoft\Internet Explorer\Main" /v "Start Page" /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Internet Explorer\Main" /v "Start Page" /f
REG DELETE "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main" /v "First Home Page" /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Internet Explorer\Main" /v "First Home Page" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main" /v "Start Page" /t REG_SZ /d %HOMEPAGE% /f
第一行修改为自己的网址即可,由于删除了缓存地址,IE会提示设置已损坏,点击更改即可。
使用此脚本重置后就可以在IE选项里修改首页了。
辅助起始页
辅助起始页是随着浏览器启动的多开网页地址,和第一首页不冲突,同样的,HKCU比HKLM优先级高
1 | [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main] |
因为可以设置多个网址,所以注册表值类型是”REG_MULTI_SZ”。由于该功能使用不多,就不继续深究了。