Ustaw Internet Explorer jako domyślną przeglądarkę z wiersza poleceń

10

Czy można ustawić Internet Explorera jako domyślną przeglądarkę do uruchamiania z wiersza poleceń?

Mam aplikację internetową, która działa tylko w przeglądarce Internet Explorer, ale jeśli zdarzy się, że Firefox jest domyślną przeglądarką, nie będzie działać. Użytkownicy są w środowisku domenowym i chociaż próbuję uruchomić naszą aplikację z partii w ten sposób:

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

aplikacja nie uruchomi się, chyba że ręcznie zmienię przeglądarkę.

nick rulz
źródło
4
Przypuszczam, że „napraw aplikację tak, aby faktycznie honorowała poprawny HTML zamiast łamać się pod każdą przyzwoitą przeglądarką”, czy nie jest dostępna opcja?
Shadur
1
@Shadur Istnieją pewne sfery, w których problemy są postrzegane jako cechy ..
Joseph Hansen
Poleganie na zepsutym zachowaniu specyficznym dla jednej przeglądarki nie jest, a przynajmniej nigdy nie powinno być, funkcją.
Shadur
@ techie007 Nie testowałem tego sam, ale możesz sprawdzić tutaj i tutaj .
avirk
Ustawienie domyślnej przeglądarki IE to zły pomysł.
Jet

Odpowiedzi:

10

To polecenie ustawi IE jako domyślną przeglądarkę:

shmgrate.exe OcinstallreinstallIE

Ta zasada powinna powstrzymywać ludzi przed określaniem domyślnej przeglądarki.

Slotishtype
źródło
Nie ma problemu. Cieszę się, że ci się udało.
slotishtype
+1 za polisę.
MDT Guy
W systemie Windows Vista schemat rejestracji został zmieniony. To shmgratenarzędzie jest dostępne tylko w systemach Windows 2000 / XP i Windows Server 2003. Ponadto zasada ta po prostu uniemożliwi programowi Internet Explorer sprawdzenie, czy jest ustawiona jako domyślna przeglądarka.
i31415
3

możesz spróbować, to zadziała

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

błąd w poleceniu polegał na tym, startże pierwszy cytowany ciąg będzie tytułem aplikacji, który w tym przypadku można pozostawić pusty.

do ustawienia iexplorer.exejako domyślnej przeglądarki internetowej systemu można użyć poleceń associ ftypepoleceń, które łączą rozszerzenia z typami plików, a typy plików z plikami wykonywalnymi, na przykład:

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

%1 jest tutaj argumentem - to jest adres URL lub plik, który można wysłać do programu jako dane wejściowe

łatwe
źródło
1
(Tylko) Powiązanie typu pliku HTML, który ma być otwierany przez IE, nie jest tym samym, co ustawienie go jako domyślnej przeglądarki systemu operacyjnego.
ᴇcʜιᴇ007
iexplore.exe, nie iexplorer.exe
InterLinked 12.04.16
1

Windows Vista i nowsze wersje, IE 7+

Poniższy skrypt wsadowy symuluje kliknięcie Ustaw te programy jako domyślne z apletu panelu sterowania Programy domyślne. Testowane z Vista / 7 i 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

Uwagi

Każda aplikacja przeglądarki internetowej może zarejestrować się jako klient internetowy w menu Start. Ta widoczność w połączeniu z odpowiednią rejestracją plików i typów protokołów aplikacji daje domyślny stan przeglądarki aplikacji. Domyślna przeglądarka internetowa służy do uruchamiania dowolnych adresów URL z dowolnego miejsca w systemie.

Uwaga Istniejące rejestracje [link menu Start] są ignorowane w systemie Windows 7 i nowszych. Ta rejestracja jest przestarzała od systemu Windows 7.

Źródło: Jak zarejestrować przeglądarkę internetową lub klienta poczty e-mail w menu Start systemu Windows

­­

Hierarchiczna struktura rejestru dla skojarzeń plików i protokołów daje pierwszeństwo domyślnym ustawieniom dla użytkownika przed domyślnymi na poziomie komputera.

Źródło: Programy domyślne

i31415
źródło
Nie resetuje IE jako domyślnego dla mnie w systemie Windows 8.1. :(
Ƭᴇcʜιᴇ007
@ techie007 Co z ustawieniami programów domyślnych w panelu sterowania? Czy coś się tam zmieniło? Czy wystąpiły jakieś błędy podczas wykonywania skryptu wsadowego?
i31415
Wygląda na to, że działa pod Windows 7 (Pro, 64-bit), ale pod Windows 8 (Pro 32-bit) po prostu pokazuje (taki sam / zwykle) wynik „Operacja zakończona powodzeniem”. -- "Naciśnij dowolny klawisz, aby kontynuować . . ." ale tak naprawdę nie ustawia IE jako domyślnego.
ᴇcʜιᴇ007
Pod moim innym komputerem z systemem Windows 8 działało to trochę lepiej. Uruchomię go, a następnie następnym razem, gdy otworzę link http, zapyta mnie, jakiej przeglądarki chcę użyć. Jest to dla mnie wystarczająco dobre, ponieważ wszystkie inne fragmenty wydają się (AFAICT) sądzić, że IE zostanie po tym zarejestrowane jako domyślny. Więc zdobądź moją nagrodę. :)
ᴇcʜιᴇ007
@ techie007 Zupełnie zapomniałem, że Microsoft zmienił reguły i teraz dla większości tych kluczy rejestru dostępna jest ochrona antysabotażowa. Jeśli chcesz go przetestować, mogę wysłać Ci zaktualizowaną wersję skryptu, która po prostu wyczyści powiązanie w systemie Windows 8 i nowszych, aby następnym razem, gdy otworzysz link lub plik HTML, system Windows pozwoli ci wybrać, który przeglądarka do użycia. To prawdopodobnie najlepsze, co można osiągnąć w sposób zautomatyzowany, ponieważ (niektóre) interakcja użytkownika byłaby i tak wymagana.
i31415
1

Możesz dodać poniżej dwóch wierszy w pliku nietoperza

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

Po uruchomieniu bat ponownie uruchom / wyloguj się i zaloguj ponownie, ponieważ powyższe dwa wiersze poleceń mają na celu zmianę wartości rejestru.

Dodatkowe informacje można znaleźć tutaj

(Naprawiono) - Nie można ustawić przeglądarki Internet Explorer jako domyślnej przeglądarki! http://www.windowstechinfo.com/2016/03/fixed-cant-set-internet-explorer-as-the-default-browser.html

Aravinda
źródło
0

Po prostu upuść, startaby uruchomić polecenie lub plik wsadowy.

"C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page
Brian
źródło
1
Szukamy (cóż , w każdym razie) rozwiązań dotyczących ustawienia domyślnej przeglądarki z wiersza poleceń, a nie tylko rozwiązania przykładowego problemu / przyczyny w PO.
ᴇcʜιᴇ007
-1

W systemie Windows 8 (IE 10+) jest to prosty skrypt 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

Uruchomi stronę IE do zmiany IE jako domyślną i zasymuluje kliknięcie przycisku, aby zaakceptować.

Blaato
źródło