Verwenden von Visual C# zum programmgesteuerten Starten des Standardmäßigen Internetbrowsers

In diesem Artikel wird gezeigt, wie Sie den Standardmäßigen Internetbrowser mit Visual C# starten.

Ursprüngliche Produktversion:   Visual Studio
Ursprüngliche KB-Nummer:   305703

Hinweis

Geben Sie die URL, FTP oder Datei an, die geöffnet werden soll.

Sie können eine URL, eine Datei oder eine FTP-Adresse (File Transfer Protocol) angeben. Alle drei Aufgaben sind gültig:

string target= "http://www.microsoft.com";
string target = "ftp://ftp.microsoft.com";
string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";

Verwenden der Startmethode der Process-Klasse zum Starten des Browsers

Die Process Klasse enthält eine statische Start Methode. Da es sich um eine statische Methode handelt, können Sie aufrufen Start , ohne eine Instanz einer Process Klasse zu haben.

System.Diagnostics.Process.Start(target);

Weitere Informationen zur Process Klasse finden Sie unter Process Class.

Bereitstellen der Ausnahmebehandlung

Da Sie beim Aufrufen der Methode die Standardeigenschaft UseShellExecute nutzen, müssen Sie die Registrierung nicht explizit abfragen, um festzustellen, welcher Browser der Standard ist.Start Wenn Sie diesen Ansatz jedoch auf einem Computer verwenden, auf dem kein Browser installiert ist, tritt eine Ausnahme auf. Diese Ausnahme muss abgefangen werden, damit die entsprechende Aktion ausgeführt werden kann.

In diesem Beispiel wird explizit ein Trapping für einen Fehler ausgeführt, der generiert wird, wenn der erforderliche Registrierungsschlüssel nicht gefunden wird, und gibt an, dass kein Browser installiert ist. Darüber hinaus wird ein allgemeiner Ausnahmehandler für andere Fehler bereitgestellt, die auftreten können. Der try...catch Block wird in der vollständigen Codeauflistung veranschaulicht.

Vollständiges Codebeispiel

string target= "http://www.microsoft.com";
//Use no more than one assignment when you test this code.
//string target = "ftp://ftp.microsoft.com";
//string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
try
{
    System.Diagnostics.Process.Start(target);
}
catch (System.ComponentModel.Win32Exception noBrowser)
{
    if (noBrowser.ErrorCode==-2147467259)
    MessageBox.Show(noBrowser.Message);
}
catch (System.Exception other)
{
    MessageBox.Show(other.Message);
}

Problembehandlung

Dieser Code hängt stark von den Anwendungsdateitypzuordnungen in der HKEY_CLASSES_ROOT (HKCR)-Struktur der Registrierung ab. Es kann zu unerwarteten Ergebnissen und Ausnahmen führen, wenn die Registrierung beschädigt ist. Darüber hinaus können Dateitypen und Erweiterungen anderen Anwendungen als dem Browser zugeordnet werden. Beispielsweise können HTM- oder HTML-Dateien mit Webentwicklungssoftware anstelle des Browsers verknüpft sein.