Chcę, aby moja aplikacja WPF otwierała domyślną przeglądarkę i przechodziła do określonej strony internetowej. W jaki sposób mogę to zrobić?
126
System.Diagnostics.Process.Start("http://www.webpage.com");
Jeden z wielu sposobów.
Użyłem tej linii do uruchomienia domyślnej przeglądarki:
źródło
Zaakceptowana odpowiedź nie działa już w .NET Core 3 . Aby to zadziałało, użyj następującej metody:
źródło
Chociaż podano dobrą odpowiedź (używając
Process.Start
), bezpieczniej jest zamknąć ją w funkcji, która sprawdza, czy przekazany ciąg jest rzeczywiście identyfikatorem URI, aby uniknąć przypadkowego uruchomienia przypadkowych procesów na maszynie.źródło
Firma Microsoft wyjaśnia to w artykule KB305703 dotyczącym programowego uruchamiania domyślnej przeglądarki internetowej przy użyciu języka Visual C # .
Nie zapomnij sprawdzić sekcji Rozwiązywanie problemów.
źródło
Nie można uruchomić strony internetowej z poziomu aplikacji. Spowoduje to zgłoszenie wyjątku 0x800004005, prawdopodobnie dlatego, że program explorer.exe i przeglądarka nie mają podwyższonego poziomu uprawnień.
Aby uruchomić stronę internetową z aplikacji z podwyższonym poziomem uprawnień w przeglądarce internetowej bez uprawnień, użyj kodu stworzonego przez Mike'a Fenga . Próbowałem przekazać adres URL do lpApplicationName, ale to nie zadziałało. Również nie wtedy, gdy używam CreateProcessWithTokenW z lpApplicationName = "explorer.exe" (lub iexplore.exe) i lpCommandLine = url.
Następujące obejście działa: Utwórz mały projekt EXE, który ma jedno zadanie: Process.Start (url), użyj CreateProcessWithTokenW, aby uruchomić ten plik .EXE. Na moim Windows 8 RC to działa dobrze i otwiera stronę internetową w Google Chrome.
źródło
Explorer.exe
do obniżania uprawnień nie jest obsługiwane: „Niestety, zespół Windows Shell odpowiedział, że obecne zachowanie programu„ Explorer.exe AppName.exe ”jest błędem i może nie działać w przyszłych aktualizacjach / wersjach systemu Windows. Aplikacje nie powinni na nim polegać ”.Oto mój kompletny kod, jak otworzyć.
istnieją 2 opcje:
otwórz za pomocą domyślnej przeglądarki (zachowanie jest podobne do otwierania w oknie przeglądarki)
otwórz za pomocą domyślnych opcji poleceń (zachowanie jest podobne do polecenia „RUN.EXE”)
otwórz za pomocą `` eksploratora '' (zachowanie jest takie, jak w przypadku wpisania adresu URL w adresie URL okna folderu)
[sugestia opcjonalna] 4. Użyj lokalizacji procesu iexplore, aby otworzyć wymagany adres URL
KOD:
oraz funkcja pomocnika:
Mam nadzieję, że pomogłem.
źródło
GetWindowsPath
?Stara szkoła;)
Posługiwać się:
openit("www.google.com");
źródło
Mam na to rozwiązanie, bo mam dziś podobny problem.
Załóżmy, że chcesz otworzyć http://google.com z aplikacji działającej z uprawnieniami administratora:
źródło