这里提供和一个脚本作为参考,在本机装有火狐浏览器的前提下,将默认浏览器设为火狐浏览器
思路是比较简单的,手动设置过程就是在注册表的这里HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Firefox.exe
拿到本地火狐浏览器安装的路径,可执行文件的路径
然后去HKEY_CLASSES_ROOT新建一个ROOT叫firefox设置如下子目录\firefox\shell\open\command这里的默认建值为刚才拿到的路径
最后去HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice这里把Progid键的值设为刚才新建的Root名firefox,注意把http也一起设置了
下面我们把这一系列的操作用批处理语言编写出来
@echo OFF
for /f "tokens=1,2 delims=:" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Firefox.exe" ^| find /i "(默认)"') do (
SET value1=%%a :值为 (默认) REG_SZ C
SET value2=%%b :值为 \Program Files (x86)\Mozilla Firefox\firefox.exe
) :这是把整个内容用:分割开了
:下面做的是获取本机安装的火狐浏览器的可执行文件路径,也就是把value1的最后一个字符加上 “:” 和value2拼接起来
:delright
if "%value1:~-1%"==" " set value1=%value1:~0,-1%&&goto delright
SET "value2=\"%value1:~-1%:%value2%\""
echo %value2%
:到这里就拿到了全路径,在下面的位置设置新建ROOT
reg add "HKEY_CLASSES_ROOT\firefox\shell\open\command" /ve /t "REG_SZ" /d "%value2%" /f
:最后一步就是把刚才为火狐浏览器新建的ROOT写到如下的路径Progid键
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice" /v "Progid" /t "REG_SZ" /d "firefox" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice" /v "Progid" /t "REG_SZ" /d "firefox" /f
pause
这个脚本仅支持win7及之前的版本,之后的版本每次更换默认浏览器要有 hash值校验,比较复杂