是否可以将Internet Explorer设置为从命令行启动的默认浏览器?
我有一个只能在Internet Explorer下运行的Web应用程序,但如果它发生Firefox是默认浏览器,则它不起作用。用户在域环境中,即使我尝试以这种方式从批处理启动我们的应用程序:
start "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page
除非我手动更改浏览器,否则应用程序无法启动。
是否可以将Internet Explorer设置为从命令行启动的默认浏览器?
我有一个只能在Internet Explorer下运行的Web应用程序,但如果它发生Firefox是默认浏览器,则它不起作用。用户在域环境中,即使我尝试以这种方式从批处理启动我们的应用程序:
start "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page
除非我手动更改浏览器,否则应用程序无法启动。
Answers:
shmgrate
该工具仅适用于Windows 2000 / XP和Windows Server 2003.此外,该策略只会阻止Internet Explorer检查它是否设置为默认浏览器。
你可以试试这个,它会起作用
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或文件
以下批处理脚本模拟单击 将此程序设置为默认程序 从默认程序控制面板小程序。使用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客户端。这种可见性,以及应用程序的正确注册 文件 和 协议 types,给出应用程序默认浏览器状态。默认Web浏览器用于从系统中的任何位置启动任意URL。
注意 在Windows 7及更高版本中,将忽略现有的[开始菜单链接]注册。自Windows 7起,此注册已弃用。
文件和协议关联的分层注册表结构优先于每个用户的默认值而非机器级默认值。
资源: 默认程序
您可以在bat文件中添加以下两行
reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /f /v "Check_Associations" /d "yes" /t REG_SZ
reg add "HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice" /f /v "ProgId" /d "IE.HTTP" /t REG_SZ
运行bat后,重新启动/注销并重新登录,因为上面两个命令行是为了更改注册表值。
其他详细信息可以在这里找到
(已修复)-Cant将Internet Explorer设置为默认浏览器! http://www.windowstechinfo.com/2016/03/fixed-cant-set-internet-explorer-as-the-default-browser.html
我不知道从命令行设置默认浏览器,但您可以通过组策略为域设置和强制执行。
这是让你入门的东西:
http://technet.microsoft.com/en-us/library/hh147307%28WS.10%29.aspx
对于Windows 8(IE 10+),它很简单的VBS脚本:
Dim URL
Dim IE
Set IE = CreateObject("internetexplorer.application")
URL = "res://ieframe.dll/defaultbrowser.htm"
IE.Visible = True
IE.Navigate URL
Do While IE.Busy
WScript.Sleep 100
Loop
IE.Document.getElementById("changeDefaultButton").Click
它将启动IE页面以将IE更改为默认值,并模拟单击按钮以接受。