Verwenden von Visual C# zum programmgesteuerten Starten des Standard-Internetbrowsers
In diesem Artikel wird gezeigt, wie Sie den Standard-Internetbrowser mithilfe von Visual C# starten.
Ursprüngliche Produktversion: Visual Studio
Ursprüngliche KB-Nummer: 305703
Hinweis
- Dieser Artikel bezieht sich auf den Microsoft .NET Framework-Klassenbibliotheksnamespace
System.Diagnostics
. - Eine Visual C++ .NET-Version dieses Artikels finden Sie unter Programmgesteuertes Starten des Standard-Internetbrowsers mithilfe von Visual C++.
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 dieser Zuweisungen 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, ohne über eine instance einer Process
Klasse zu verfügenStart
.
System.Diagnostics.Process.Start(target);
Weitere Informationen zur Process
-Klasse finden Sie unter Process Class.
Bereitstellen der Ausnahmebehandlung
Da Sie die Standardeigenschaft UseShellExecute
beim Aufrufen der Start
-Methode nutzen, müssen Sie die Registrierung nicht explizit abfragen, um zu bestimmen, welcher Browser der Standard ist. 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 ergriffen werden kann.
In diesem Beispiel wird explizit ein Fehler ausgeführt, der generiert wird, wenn der erforderliche Registrierungsschlüssel nicht gefunden wird, und zeigt 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 ist stark von den Anwendungsdateitypzuordnungen in der HKEY_CLASSES_ROOT-Struktur (HKCR) der Registrierung abhängig. Dies 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 der Webentwicklungssoftware anstelle des Browsers zugeordnet werden.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für