Wie öffne ich ein web-browser .NET-Programm? Prozess.Start() nicht funktioniert?

Ich habe eine URL und ich möchte um es zu starten in der Standard-browser. Ich habe versucht zwei Methoden:

Process.Start("http://stackoverflow.com");

... und das eine detaillierte in diesem andere Frage mit ShellExecute.

In beiden Fällen erhalte ich die Fehlermeldung: Windows kann nicht finden 'http://stackoverflow.com'. Stellen Sie sicher, dass Sie den Namen korrekt eingegeben haben und versuchen Sie es dann erneut.

Sollte es nicht versuchen, Sie zu öffnen, als Datei, aber... von dem, was ich verstehe, sollte es erkennen, es als eine URL und öffnen Sie Sie in Ihrem Standard-browser. Was bin ich?

Übrigens: OS = Vista, und .NET = 3.5

BEARBEITEN:

Laut dieser MS-KB-Artikel, da der Prozess.Start legt den UseShellExecute standardmäßig, sollte Sie starten den Standard-browser.

BEARBEITEN:

Hier ist was funktioniert:

System.Diagnostics.Process.Start(@"C:\Program Files\Internet Explorer\IExplore.exe", "http://stackoverflow.com");

Leider wirklich nicht, starten Sie den Standard-browser, und es auch nicht funktioniert, wenn IE nicht installiert ist, in der "normalen" Platz. Ich bin mir nicht sicher, was hier zu tun ist.

Mehr Informationen:

OK, also die Fehler, die ich bin immer die Fehlernummer -2147467259. Sucht bei Google nach diesem, es scheint, dass es nicht sehr aussagekräftig. Es könnte ein Datei-Zuordnung-Fehler oder so etwas.

Der plot verdickt:

Also ich habe in der registry-key, der angeblich meine Akte association for http:

KEY_CLASSES_ROOT\http\shell\open\command\default

Hier ist der Wert:

"C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1"

Sinn macht. Ich tatsächlich kopiert diesen string in eine Eingabeaufforderung ein und ersetzt das %1 mit http://stackoverflow.com und es funktionierte und öffnete firefox. Ich weiß nur nicht, warum die Prozess.Starten ist nicht das verknüpfen der URL mit diesem Befehl...

Ich Frage mich, ob es besser funktioniert für URLs, einschließlich Dateiname und-Erweiterung? Versuchen Sie es mit "msdn.microsoft.com/en-us/default.aspx".
Durch die Art und Weise, nicht hartcodieren "Program Files", weil es anders ist, wenn die windows-version ist nicht in Deutsch.
Das ist, was ich sagte, ist es nicht?
Unter welchen Anmeldeinformationen sind Sie?
McGee: Es ist Vista Home Premium, und ich bin und admin, aber die app nicht ausführen unter angehobenen rechten.

InformationsquelleAutor Scott Whitlock | 2010-05-09

Schreibe einen Kommentar