Đặt Internet Explorer làm trình duyệt mặc định từ dòng lệnh


10

Có thể đặt Internet Explorer làm trình duyệt mặc định để khởi chạy từ dòng lệnh không?

Tôi có một ứng dụng web chỉ chạy trong Internet Explorer, nhưng nếu nó xảy ra thì Firefox là trình duyệt mặc định, nó không hoạt động. Người dùng đang ở trong một môi trường miền và mặc dù tôi cố gắng khởi chạy ứng dụng của chúng tôi từ một đợt theo cách này:

start "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

ứng dụng không khởi động trừ khi tôi thay đổi trình duyệt theo cách thủ công.


4
Tôi cho rằng "sửa ứng dụng để nó thực sự tôn vinh html phù hợp thay vì vi phạm dưới mọi trình duyệt tử tế" không phải là một lựa chọn?
Shadur

1
@Shadur Có một số lĩnh vực mà các vấn đề được xem là các tính năng ..
Joseph Hansen

Dựa vào hành vi bị hỏng cụ thể cho một trình duyệt không phải là, hoặc ít nhất không bao giờ nên là một tính năng.
Shadur

@ techie007 Tôi không tự kiểm tra nhưng bạn có thể xem tại đâyđây .
avirk 7/214

Làm trình duyệt mặc định IE là một ý tưởng tồi.
Máy bay phản lực

Câu trả lời:


10

Lệnh này sẽ đặt IE làm trình duyệt mặc định:

shmgrate.exe OcinstallreinstallIE

Chính sách này sẽ ngăn mọi người xác định trình duyệt mặc định.


Không có probs. Mừng vì việc này giúp ích được cho bạn.
slotishtype

+1 cho chính sách là tốt.
MDT Guy

Trong Windows Vista, sơ đồ đăng ký đã được đại tu. Công shmgratecụ này chỉ khả dụng trong Windows 2000 / XP và Windows Server 2003. Ngoài ra, chính sách đó sẽ chỉ ngăn Internet Explorer kiểm tra xem nó có được đặt làm trình duyệt mặc định hay không.
và31415

3

bạn có thể thử cái này, nó sẽ hoạt động

start "" "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

lỗi trong lệnh của bạn là startdự kiến ​​chuỗi trích dẫn đầu tiên là tiêu đề của ứng dụng, trong trường hợp này bạn có thể để trống.

để đặt iexplorer.exelàm trình duyệt web mặc định của hệ thống, bạn có thể sử dụng assocftypera lệnh, liên kết các phần mở rộng với các loại tệp và loại tệp với các tệp thi hành, như vậy:

assoc .html=htmlfile
ftype htmlfile="C:\Program Files\Internet Explorer\iexplore.exe" %1

%1 là đối số ở đây - đó là URL hoặc tệp mà bạn có thể gửi cho chương trình dưới dạng đầu vào


1
(Chỉ) Liên kết loại tệp HTML được mở bởi IE không giống như đặt nó làm trình duyệt mặc định của HĐH.
Ƭᴇcʜιᴇ007

iexplore.exe, không iexplorer.exe
liên kết với nhau

1

Windows Vista trở lên, IE 7+

Tập lệnh bó sau đây mô phỏng nhấp vào Đặt chương trình này làm mặc định từ ứng dụng bảng điều khiển Chương trình mặc định. Đã thử nghiệm với Vista / 7 và 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

Nhận xét

Bất kỳ ứng dụng trình duyệt web nào cũng có thể đăng ký để xuất hiện dưới dạng máy khách Internet trên menu Bắt đầu. Khả năng hiển thị này, cùng với đăng ký thích hợp cho các loại tệpgiao thức của ứng dụng , mang lại trạng thái trình duyệt mặc định cho ứng dụng. Trình duyệt web mặc định được sử dụng để khởi chạy các URL tùy ý từ bất kỳ đâu trong hệ thống.

Lưu ý Đăng ký [liên kết menu bắt đầu] hiện có bị bỏ qua trong Windows 7 trở lên. Đăng ký này không được chấp nhận kể từ Windows 7.

Nguồn: Cách đăng ký trình duyệt Internet hoặc ứng dụng email với menu bắt đầu của Windows

­­

Cấu trúc đăng ký phân cấp cho các liên kết tệp và giao thức ưu tiên cho các mặc định của mỗi người dùng đối với các mặc định ở cấp độ máy.

Nguồn: Chương trình mặc định


Không đặt lại IE làm mặc định cho tôi trên Windows 8.1. :(
Ƭᴇcʜιᴇ007

@ techie007 Còn cài đặt Chương trình mặc định trong bảng điều khiển thì sao? Có điều gì thay đổi ở đó không? Bạn có nhận được bất kỳ lỗi nào trong khi thực hiện tập lệnh bó không?
và31415

Có vẻ như hoạt động trong Windows 7 (Pro, 64-bit), nhưng trong Windows 8 (Pro 32-bit), nó chỉ hiển thị đầu ra (giống / thông thường) "Thao tác đã hoàn tất thành công." -- "Bấm phím bất kỳ để tiếp tục . . ." nhưng thực tế không đặt IE làm mặc định.
Ƭᴇcʜιᴇ007

Trong máy Windows 8 khác của tôi, nó hoạt động tốt hơn một chút. Tôi chạy nó, và lần sau khi tôi mở một liên kết http, nó sẽ hỏi tôi muốn sử dụng trình duyệt nào. Điều này là đủ tốt đối với tôi, vì tất cả các bit và phần khác dường như (AFAICT) nghĩ rằng IE được đăng ký làm mặc định sau khi làm điều đó. Vì vậy, có tiền thưởng của tôi. :)
cʜιᴇ007

@ techie007 Tôi hoàn toàn quên rằng Microsoft đã thay đổi các quy tắc và hiện có bảo vệ chống giả mạo cho hầu hết các khóa đăng ký đó. Nếu bạn sẵn sàng thử nghiệm nó, tôi có thể gửi cho bạn phiên bản cập nhật của tập lệnh sẽ xóa liên kết trong Windows 8 và sau đó để lần sau bạn mở liên kết hoặc tệp html, Windows sẽ cho phép bạn chọn trình duyệt để sử dụng. Đó có lẽ là điều tốt nhất bạn có thể đạt được theo cách tự động bởi vì (một số) tương tác người dùng sẽ được yêu cầu bằng mọi cách.
và31415

1

Bạn có thể thêm hai dòng dưới đây trong một tập tin 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

Sau khi chạy bat, khởi động lại / đăng xuất và đăng nhập lại vì hai dòng lệnh trên có nghĩa là thay đổi giá trị đăng ký ..

Thông tin chi tiết có thể được tìm thấy ở đây

(Đã sửa) -Cant đặt Internet Explorer làm Trình duyệt mặc định! http://www.windowstechinfo.com/2016/03/fixed-cant-set-iNET-explorer-as-the-default-browser.html



0

Chỉ cần thả starttệp để nhận lệnh hoặc tệp bó để làm việc.

"C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

1
Chúng tôi ( dù sao tôi cũng vậy ) đang tìm giải pháp thiết lập trình duyệt mặc định từ dòng lệnh, không chỉ để giải quyết vấn đề / lý do mẫu trong OP.
Ƭᴇcʜιᴇ007

-1

Đối với Windows 8 (IE 10+), tập lệnh VBS dễ dàng:

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

Nó sẽ bắt đầu trang IE để thay đổi IE làm mặc định và mô phỏng nhấp vào nút để chấp nhận.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.