使用 Visual C# 以程式設計方式啟動預設網際網路瀏覽器

本文說明如何使用 Visual C# 啟動預設網際網路瀏覽器。

原始產品版本: Visual Studio
原始 KB 編號: 305703

注意事項

指定要開啟的 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 開發軟體相關聯,而不是與瀏覽器相關聯。