Ich möchte, dass meine WPF-Anwendung den Standardbrowser öffnet und zu einer bestimmten Webseite wechselt. Wie mache ich das?
126
System.Diagnostics.Process.Start("http://www.webpage.com");
Eine von vielen Möglichkeiten.
Ich habe diese Zeile verwendet, um den Standardbrowser zu starten:
quelle
Obwohl eine gute Antwort gegeben wurde (mit
Process.Start
), ist es sicherer, sie in eine Funktion zu kapseln, die überprüft, ob die übergebene Zeichenfolge tatsächlich eine URI ist, um zu vermeiden, dass versehentlich zufällige Prozesse auf dem Computer gestartet werden.quelle
Akzeptierte Antwort funktioniert unter .NET Core 3 nicht mehr . Verwenden Sie die folgende Methode, damit es funktioniert:
quelle
Microsoft erklärt dies im Artikel KB305703 zum programmgesteuerten Starten des Standard-Internetbrowsers mithilfe von Visual C # .
Vergessen Sie nicht, den Abschnitt zur Fehlerbehebung zu lesen.
quelle
Sie können eine Webseite nicht über eine Anwendung mit erhöhten Rechten starten. Dies löst eine 0x800004005-Ausnahme aus, wahrscheinlich weil explorer.exe und der Browser nicht erhöht ausgeführt werden.
Verwenden Sie den von Mike Feng erstellten Code, um eine Webseite von einer erhöhten Anwendung in einem nicht erhöhten Webbrowser aus zu starten . Ich habe versucht, die URL an lpApplicationName zu übergeben, aber das hat nicht funktioniert. Auch nicht, wenn ich CreateProcessWithTokenW mit lpApplicationName = "explorer.exe" (oder iexplore.exe) und lpCommandLine = url verwende.
Die folgende Problemumgehung funktioniert: Erstellen Sie ein kleines EXE-Projekt mit einer Aufgabe: Process.Start (URL). Verwenden Sie CreateProcessWithTokenW, um diese EXE-Datei auszuführen. Unter meinem Windows 8 RC funktioniert dies einwandfrei und öffnet die Webseite in Google Chrome.
quelle
Explorer.exe
zum De-Elevieren wird nicht unterstützt: "Leider hat das Windows Shell-Team geantwortet, dass das aktuelle Verhalten von" Explorer.exe AppName.exe "ein Fehler ist und möglicherweise in zukünftigen Updates / Versionen von Windows nicht funktioniert. Anwendungen sollte sich nicht darauf verlassen. "Hier ist mein vollständiger Code zum Öffnen.
Es gibt 2 Möglichkeiten:
Öffnen mit dem Standardbrowser (Verhalten ist wie im Browserfenster geöffnet)
Öffnen über Standardbefehlsoptionen (Verhalten entspricht der Verwendung des Befehls "RUN.EXE")
über 'Explorer' öffnen (Verhalten ist so, als hätten Sie eine URL in die URL Ihres Ordnerfensters geschrieben)
[optionaler Vorschlag] 4. Verwenden Sie den iexplore-Prozessspeicherort, um die erforderliche URL zu öffnen
CODE:
und die Hilfsfunktion:
Hoffe ich habe geholfen.
quelle
GetWindowsPath
?Der alte Schulweg;)
Verwenden:
openit("www.google.com");
quelle
Ich habe die Lösung dafür, weil ich heute ein ähnliches Problem habe.
Angenommen, Sie möchten http://google.com über eine App öffnen, die mit Administratorrechten ausgeführt wird:
quelle