Ich versuche, über Windows Form einen Link zur Website meines Unternehmens bereitzustellen. Ich möchte mich gut benehmen und mit dem bevorzugten Browser des Benutzers starten.
Wie kann eine URL im Standardbrowser des Benutzers über eine Windows Forms-Anwendung am besten geöffnet werden?
Antworten:
Dieser Artikel führt Sie durch den Artikel .
Kurze Antwort:
ProcessStartInfo sInfo = new ProcessStartInfo("http://mysite.com/"); Process.Start(sInfo);
quelle
using System.Diagnostics; Process.Start("http://www.google.com/");
Dieser Ansatz hat bei mir funktioniert, aber mir könnte etwas Wichtiges fehlen.
quelle
Hier ist das Beste aus beiden Welten:
Dim sInfo As New ProcessStartInfo("http://www.mysite.com") Try Process.Start(sInfo) Catch ex As Exception Process.Start("iexplore.exe", sInfo.FileName) End Try
Ich habe festgestellt, dass die von Blorgbeard bereitgestellte Antwort fehlschlägt, wenn eine Desktopanwendung auf einem Windows 8-Gerät ausgeführt wird. Bis zu Camillos Punkt sollten Sie versuchen, dies mit der Standardbrowseranwendung des Benutzers zu öffnen. Wenn die Browseranwendung jedoch nicht zugewiesen ist, wird eine nicht behandelte Ausnahme ausgelöst.
Ich poste dies als Antwort, da es die Ausnahme behandelt, während immer noch versucht wird, den Link im Standardbrowser zu öffnen.
quelle
Ich mag den hier beschriebenen Ansatz . Dabei werden mögliche Ausnahmen und Verzögerungen beim Starten des Browsers berücksichtigt.
Stellen Sie für bewährte Methoden sicher, dass Sie die Ausnahme nicht nur ignorieren, sondern abfangen und eine entsprechende Aktion ausführen (benachrichtigen Sie beispielsweise den Benutzer, dass das Öffnen des Browsers zum Navigieren zur URL fehlgeschlagen ist).
quelle
Für diejenigen, die eine "Win32Exception: Das System kann die angegebene Datei nicht finden" erhalten
Dies sollte die Arbeit erledigen:
ProcessStartInfo psInfo = new ProcessStartInfo { FileName = "https://www.google.com", UseShellExecute = true }; Process.Start(psInfo);
UseShellExecute wird hier weiter beschrieben
Für mich war das Problem aufgrund der .NET - Laufzeit als descriped hier
quelle
Der obige Ansatz ist perfekt. Ich möchte diesen Ansatz empfehlen, um Ihre Parameter zu übergeben.
Process mypr; mypr = Process.Start("iexplore.exe", "pass the name of website");
quelle