Visual C# を使用して既定のインターネット ブラウザーをプログラムで起動する
この記事では、Visual C# を使用して既定のインターネット ブラウザーを起動する方法について説明します。
元の製品バージョン: Visual Studio
元の KB 番号: 305703
注:
- この記事では、Microsoft .NET Framework クラス ライブラリ名前空間 を参照します
System.Diagnostics
。 - この記事の Visual C++ .NET バージョンについては、「 Visual C++ を使用して既定のインターネット ブラウザーをプログラムで起動する方法」を参照してください。
開く URL、FTP、またはファイルを指定する
URL、ファイル、またはファイル転送プロトコル (FTP) アドレスを指定できます。 これらの 3 つの割り当ては、すべて有効です。
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
メソッドが含まれています。 これは静的メソッドであるため、クラスのProcess
インスタンスを持たずに を呼び出Start
すことができます。
System.Diagnostics.Process.Start(target);
クラスの 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) Hive 内のアプリケーション ファイルの種類の関連付けに大きく依存します。 レジストリが破損している場合、予期しない結果や例外が発生する可能性があります。 さらに、ファイルの種類と拡張子は、ブラウザー以外のアプリケーションに関連付けられている場合があります。 たとえば、HTM または HTML ファイルは、ブラウザーではなく Web 開発ソフトウェアに関連付けられている場合があります。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示