使用 Visual c # 以程式設計方式啟動預設的網際網路瀏覽器
本文說明如何使用 Visual c # 啟動預設的網際網路瀏覽器。
原始產品版本: Visualstudio
原始 KB 編號: 305703
注意
- 本文是指 Microsoft .NET Framework 類別庫命名空間
System.Diagnostics
。 - 如需本文的 Visual c + + .NET 版本,請參閱 how to 以程式設計方式 啟動預設的 Internet 瀏覽器使用 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
類別包含靜態 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 開發軟體(而不是瀏覽器)產生關聯。