Jak mogę mieć przycisk w mojej aplikacji na komputer, który powoduje, że domyślna przeglądarka użytkownika uruchamia się i wyświetla adres URL podany w logice aplikacji.Jak mogę uruchomić adres URL w domyślnej przeglądarce użytkownika z mojej aplikacji?
30
A
Odpowiedz
57
Process.Start("http://www.google.com");
19
Process.Start ([twój adres URL)) jest rzeczywiście odpowiedzią, we wszystkich przypadkach poza wyjątkowo niszowymi. Dla kompletności wspomnę jednak, że pewnego razu natknęliśmy się na taki niszowy przypadek: jeśli próbujesz otworzyć URL pliku "file: \" (w naszym przypadku, aby wyświetlić lokalną zainstalowaną kopię naszej strony internetowej), podczas uruchamiania z powłoki, parametry do adresu URL zostały odrzucone.
Nasz raczej hackish rozwiązanie, które nie polecam, chyba że wystąpi problem z „właściwej” rozwiązanie, wyglądała mniej więcej tak:
w obsługi kliknij na przycisk:
string browserPath = GetBrowserPath();
if (browserPath == string.Empty)
browserPath = "iexplore";
Process process = new Process();
process.StartInfo = new ProcessStartInfo(browserPath);
process.StartInfo.Arguments = "\"" + [whatever url you're trying to open] + "\"";
process.Start();
brzydki funkcja że nie powinno się używać, chyba Process.Start ([Twój url]) nie robi tego, co można oczekiwać, że będzie:
private static string GetBrowserPath()
{
string browser = string.Empty;
RegistryKey key = null;
try
{
// try location of default browser path in XP
key = Registry.ClassesRoot.OpenSubKey(@"HTTP\shell\open\command", false);
// try location of default browser path in Vista
if (key == null)
{
key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http", false); ;
}
if (key != null)
{
//trim off quotes
browser = key.GetValue(null).ToString().ToLower().Replace("\"", "");
if (!browser.EndsWith("exe"))
{
//get rid of everything after the ".exe"
browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4);
}
key.Close();
}
}
catch
{
return string.Empty;
}
return browser;
}
Powiązane problemy
- 1. Otwórz adres URL w domyślnej przeglądarce internetowej w WinRT
- 2. Visual Basic Otwórz adres URL w domyślnej przeglądarce
- 3. Otwarty URL OSX Swift w domyślnej przeglądarce
- 4. Android: Otwórz zapisany plik w domyślnej aplikacji z mojej aplikacji
- 5. Nie można uruchomić aplikacji, wywołując adres URL z przeglądarki Android
- 6. Otwieranie adresu URL w domyślnej przeglądarce w aplikacji komputerowej z systemem Windows 8
- 7. Otwórz adres URL z Windows Forms
- 8. Pobierz adres URL mojej aplikacji sieci Web w języku JavaScript
- 9. Jak znaleźć adres URL mojej usługi internetowej?
- 10. Otwieranie Błyszczącej aplikacji bezpośrednio w domyślnej przeglądarce
- 11. Jak uruchomić adres URL w przeglądarce Firefox w tle z wiersza poleceń Ubuntu?
- 12. Otwórz adres URL z przeglądarki
- 13. Jak mogę odblokować adres URL?
- 14. Adres URL administratora mojej strony wtyczki
- 15. Java HttpServletRequest uzyskać adres URL w przeglądarce Pasek adresu URL
- 16. Jak uzyskać bieżący adres URL aplikacji Appengine?
- 17. Załaduj adres URL wyszukiwania w przeglądarce z programu Visual Studio
- 18. Python - Flask - otwórz stronę w domyślnej przeglądarce
- 19. C# Pobierz adres URL aplikacji
- 20. Otwarty adres URL w istniejącej przeglądarce/karcie w java
- 21. jaki jest adres IP mojej aplikacji heroku
- 22. Jak uzyskać adres URL mapy Google Map w mojej witrynie?
- 23. Adres URL do użytkownika Twittera z identyfikatorem, a nie nazwą
- 24. Przekazywanie parametrów adresu URL do aplikacji ClickOnce w dowolnej przeglądarce
- 25. Samouczek "Witam, WebView" otwiera żądany adres w przeglądarce Androida, a nie w mojej przeglądarce
- 26. Jak mogę zintegrować reklamy AirPush w mojej aplikacji na Androida?
- 27. pobierz adres URL aplikacji z bieżącego żądania
- 28. Jak mogę osadzić NetLimiter w mojej aplikacji
- 29. Otwórz adres URL Facebooka w Safari zamiast natywnej aplikacji
- 30. Jak mogę umieścić stronę w mojej aplikacji?
dzięki za dodatkową informacją jest to –
niezwykle ładne kodowanie – BoundForGlory
Ta odpowiedź może użyć aktualizacji, aby uwzględnić Win8 i Win10. (Jeśli ktoś kończy implementację, edytuj tę odpowiedź, aby ją uwzględnić!) – ANeves