浏览器设置默认浏览器分析:
1) 安装某些浏览器后无法设置IE浏览器,原因是,这些浏览器把HKEY_LOCAL_MACHINE\SOFTWARE\Classes\IE.HTTP这个注册表项下的shell项目的默认键值修改成了se,而se项的内容如下:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\IE.HTTP\shell\se\command
“"C:\Program Files\xxx\xxxxx.exe" "%1"”
同时也把HKEY_LOCAL_MACHINE\SOFTWARE\Classes\IE.HTTP下的shell里的command项的值修改成了“"C:\Program Files\xxx\xxxxx.exe" "%1"”
1) 一般安装默认浏览器的时候,会把HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\userChoice下的Progid值设置成要设置的默认浏览器的对象,而这个值决定了谁做为默认浏览器。比如修改成TheWorldURL则默认为TheWorld浏览器,设置成SogouExplorerHTML则为搜狗浏览器
2) 当卸载任何浏览器的时候,HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\userChoice下的Progid值都会默认修改成IE的对象IE.HTTP,而IE.HTTP这个对象下面的shell,恰恰又被修改成了某些浏览器x的。所以,无论当前的默认浏览器是什么,只要卸载任何一款浏览器,默认的浏览器就会被修改成x浏览器的。
3) 除了这个HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\userChoice,受影响的还有
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\userChoice,受关联的为HKEY_LOCAL_MACHINE\SOFTWARE\Classes\IE.HTTPS
4) 所以,只要把HKEY_LOCAL_MACHINE\SOFTWARE\Classes\IE.HTTP和HKEY_LOCAL_MACHINE\SOFTWARE\Classes\IE.HTTPS修复成默认的IE的值,就能解决卸载后设置成x浏览器已经安装x浏览器后无法设置IE为默认浏览器的问题。