是否可以将 Internet Explorer 设置为从命令行启动的默认浏览器?
我有一个只能在 Internet Explorer 下运行的 Web 应用程序,但如果 Firefox 是默认浏览器,它就无法运行。用户处于域环境中,即使我尝试以这种方式从批处理中启动我们的应用程序:
start "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page
除非我手动更改浏览器,否则应用程序不会启动。
答案1
答案2
你可以试试这个,它会起作用的
start "" "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page
您的命令中的错误是start
期望第一个引用的字符串是应用程序的标题,在这种情况下您可以将其留空。
要设置iexplorer.exe
为系统的默认 Web 浏览器,您可以使用assoc
和ftype
命令,将扩展名与文件类型关联,将文件类型与可执行文件关联,如下所示:
assoc .html=htmlfile
ftype htmlfile="C:\Program Files\Internet Explorer\iexplore.exe" %1
%1
是这里的参数 - 即你可以作为输入发送给程序的 URL 或文件
答案3
Windows Vista 及更高版本、IE 7+
以下批处理脚本模拟点击将此程序设置为默认程序从默认程序控制面板小程序。已使用 Vista/7 和 IE 7/IE 11 进行测试。
@echo off
setlocal enabledelayedexpansion
REM -- check XHTML support (IE 9+)
set xhtml=0
for /f %%G in ('"reg query "HKCR\IE.AssocFile.XHT" /ve 2>&1 | findstr /c:".XHT" "') do set xhtml=1
REM -- reset file extensions
set exts=HTM,HTML
if %xhtml% == 1 (set exts=%exts%,XHT,XHTML)
for %%G in (%exts%) do (
set ext=%%G
set ext=!ext:~0,3!
reg add "HKCU\Software\Classes\.%%G" /ve /t REG_SZ /d "IE.AssocFile.!ext!" /f >nul
)
set exts=%exts%,MHT,MHTML,URL
set acl=%temp%\acl_%random%%random%.txt
for %%G in (%exts%) do (
set key=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%%G\UserChoice
echo !key! [1 7 17]>"%acl%"
regini "%acl%" >nul
set ext=%%G
set ext=!ext:~0,3!
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.AssocFile.!ext!" /f >nul
)
del "%acl%" 2>nul
REM -- reset MIME associations
for %%G in (message/rfc822,text/html) do (
set key=HKCU\Software\Microsoft\Windows\Shell\Associations\MIMEAssociations\%%G\UserChoice
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.%%G" /f >nul
)
REM -- reset URL protocols
for %%A in (FTP,HTTP,HTTPS) do (
set key=HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\%%A\UserChoice
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.%%A" /f >nul
for %%B in (DefaultIcon,shell) do (
set key=HKCU\Software\Classes\%%A
reg delete "!key!\%%B" /f >nul 2>&1
reg copy "HKCR\IE.%%A\%%B" "!key!\%%B" /s /f >nul
reg add "!key!" /v "EditFlags" /t REG_DWORD /d 2 /f >nul
reg add "!key!" /v "URL Protocol" /t REG_SZ /d "" /f >nul
))
REM -- reset the start menu Internet link (Vista and earlier)
reg add "HKCU\Software\Clients\StartMenuInternet" /ve /t REG_SZ /d "IEXPLORE.EXE" /f
REM -- reset cached icons
if %xhtml% == 1 (
ie4uinit -cleariconcache
) else (
taskkill /im explorer.exe /f >nul
start explorer
)
pause
exit /b
评论
任何 Web 浏览器应用程序都可以注册为“开始”菜单上的 Internet 客户端。这种可见性,加上应用程序的正确注册,文件和协议类型,为应用程序提供默认浏览器状态。默认 Web 浏览器用于从系统中的任何位置启动任意 URL。
笔记Windows 7 及更高版本会忽略现有的 [开始菜单链接] 注册。从 Windows 7 开始,此注册已弃用。
文件和协议关联的分层注册表结构优先于每个用户默认值,而不是机器级默认值。
来源:默认程序
答案4
我不知道如何从命令行设置默认浏览器,但您可以通过组策略为域设置并强制执行它。
以下是一些可以帮助您入门的内容:
http://technet.microsoft.com/en-us/library/hh147307%28WS.10%29.aspx