Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как запустить браузер По умолчанию с помощью Visual C#.
Исходная версия продукта: Visual Studio
Исходный номер базы знаний: 305703
Примечание.
- Эта статья относится к пространству
System.Diagnostics
имен библиотеки классов Microsoft платформа .NET Framework. - Сведения о версии .NET visual C++ в этой статье см. в статье о программном запуске браузера По умолчанию с помощью Visual C++.
Укажите URL-адрес, FTP или файл для открытия
Можно указать URL-адрес, файл или FTP-адрес. Все три из этих назначений являются допустимыми:
string target= "http://www.microsoft.com";
string target = "ftp://ftp.microsoft.com";
string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
Запуск браузера с помощью метода Start класса Process
Класс Process
содержит статический Start
метод. Так как это статический метод, можно вызывать Start
без экземпляра Process
класса.
System.Diagnostics.Process.Start(target);
Дополнительные сведения о классе см. в Process
разделе "Класс обработки".
Предоставление обработки исключений
Так как вы используете преимущество свойства по умолчанию при вызове Start
метода, вам не нужно явно запрашивать реестр, чтобы определить, какой браузер используется по умолчаниюUseShellExecute
. Однако если этот подход используется на компьютере, на котором не установлен браузер, возникает исключение. Это исключение необходимо поймать, чтобы можно было предпринять соответствующее действие.
Этот пример явно перехватывает ошибку, созданную при отсутствии необходимого раздела реестра, и указывает, что браузер не установлен. Кроме того, общий обработчик исключений предоставляется для других ошибок, которые могут возникнуть. Блок try...catch
демонстрируется в полном списке кода.
Полный пример кода
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);
}
Устранение неполадок
Этот код сильно зависит от сопоставлений типов приложений в кусте реестра HKEY_CLASSES_ROOT (HKCR). Это может привести к непредвиденным результатам и исключениям, если реестр поврежден. Кроме того, типы файлов и расширения могут быть связаны с приложениями, кроме браузера. Например, HTM или HTML-файлы могут быть связаны с программным обеспечением веб-разработки вместо браузера.