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

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

原始產品版本:   Visualstudio
原始 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";

使用處理類別的 Start 方法來啟動瀏覽器

Process類別包含靜態 Start 方法。 因為它是靜態方法,所以您可以 Start 不使用類別的實例而直接呼叫 Process

System.Diagnostics.Process.Start(target);

如需有關類別的詳細資訊 Process ,請參閱 Process 類別

提供例外狀況處理

由於 UseShellExecute 當您呼叫此方法時,您可以利用預設屬性 Start ,因此您不需要明確查詢登錄,以判斷預設瀏覽器。 不過,如果您在未安裝瀏覽器的電腦上使用此方法,則會發生例外狀況。 此例外狀況必須加以捕獲,才能採取適當的動作。

這個範例會明確補漏白,表示找不到必要登錄機碼時所產生的錯誤,並指出未安裝任何瀏覽器。 此外,還會針對可能發生的其他錯誤,提供一般的例外狀況處理常式。 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 開發軟體(而不是瀏覽器)產生關聯。