Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak uruchomić domyślną przeglądarkę internetową przy użyciu języka Visual C#.
Oryginalna wersja produktu: Visual Studio
Oryginalny numer KB: 305703
Uwaga 16.
- W tym artykule odwołuje się do przestrzeni
System.Diagnostics
nazw biblioteki klas programu Microsoft .NET Framework. - Aby zapoznać się z wersją programu Visual C++ .NET tego artykułu, zobacz Jak programowo uruchomić domyślną przeglądarkę internetową przy użyciu języka Visual C++.
Określ adres URL, FTP lub plik do otwarcia
Można określić adres URL, plik lub adres FTP (File Transfer Protocol). Wszystkie trzy z tych przypisań są prawidłowe:
string target= "http://www.microsoft.com";
string target = "ftp://ftp.microsoft.com";
string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
Użyj metody Start klasy Process, aby uruchomić przeglądarkę
Klasa Process
zawiera metodę statyczną Start
. Ponieważ jest to metoda statyczna, można wywołać Start
ją bez wystąpienia Process
klasy.
System.Diagnostics.Process.Start(target);
Aby uzyskać więcej informacji na temat Process
klasy, zobacz Klasa procesu.
Zapewnianie obsługi wyjątków
Ponieważ korzystasz z właściwości domyślnej UseShellExecute
podczas wywoływania Start
metody, nie musisz jawnie wysyłać zapytań do rejestru, aby określić, która przeglądarka jest domyślna. Jeśli jednak używasz tej metody na komputerze, na którym nie zainstalowano przeglądarki, wystąpi wyjątek. Ten wyjątek należy przechwycić, aby można było wykonać odpowiednie działania.
Ten przykład jawnie przechwytuje błąd wygenerowany, gdy nie znaleziono niezbędnego klucza rejestru i wskazuje, że nie zainstalowano przeglądarki. Ponadto jest udostępniana ogólna procedura obsługi wyjątków dla innych błędów, które mogą wystąpić. Blok try...catch
jest pokazany na pełnej liście kodu.
Kompletny przykład kodu
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);
}
Rozwiązywanie problemów
Ten kod jest bardzo zależny od skojarzeń typu aplikacji w HKEY_CLASSES_ROOT (HKCR) rejestru. Może to prowadzić do nieoczekiwanych wyników i wyjątków, jeśli rejestr jest uszkodzony. Ponadto typy plików i rozszerzenia mogą być skojarzone z aplikacjami innymi niż przeglądarka. Na przykład pliki HTML lub HTML mogą być skojarzone z oprogramowaniem do tworzenia aplikacji internetowych zamiast przeglądarki.