使用 Visual C# 以程式設計方式啟動預設網際網路瀏覽器
本文說明如何使用 Visual C# 啟動預設網際網路瀏覽器。
原始產品版本: Visual Studio
原始 KB 編號: 305703
注意事項
- 本文指的是 Microsoft .NET Framework 類別庫命名空間
System.Diagnostics
。 - 如需本文的 Visual C++ .NET 版本,請參閱 如何使用 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";
使用 Process 類別 Start 方法來啟動瀏覽器
類別 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 檔案可能會與 Web 開發軟體相關聯,而不是與瀏覽器相關聯。
意見反應
提交並檢視相關的意見反應