インストールされているWebブラウザーの一覧を取得する [C#]

PC(ローカルマシン)にインストールされているWebブラウザーの一覧を、C#のプログラムで取得してリストに表示してほしいという要望があったので調べてみました。

Webブラウザーの一覧を取得する

PCにインストールされているWebブラウザーの情報はレジストリから取得することができます。

具体的にはレジストリの以下のパスを参照してブラウザーを取得します。

Microsoft Edge以外
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Clients\StartMenuInternet
または
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
Microsoft Edge
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.MicrosoftEdge_8wekyb3d8bbwe

Microsoft EdgeのみローカルマシンのSOFTWAREから取得できないので、カレントユーザーのSoftwareから取得します。

サンプルプログラム

PCにインストールされているWebブラウザーの一覧を取得するプログラムのサンプルです。
ここではリストを配置したWindowsフォームアプリケーションを作成します。

ユーザーインターフェース

フォームのデザインは以下のようにします。

インストール済みWebブラウザー一覧取得サンプルフォームデザイン

画面にはラベルとリストビューを配置します。

ソースコード

インストール済みのWebブラウザーの一覧を取得して表示するサンプルコードになります。
フォームのロードイベントで取得した結果をリストビューに設定しています。

実行結果

サンプルプログラムを実行します。

インストール済みWebブラウザー一覧取得サンプルフォーム実行結果

インストール済みのWebブラウザーの名前、パス、バージョンが取得できるのが確認できます。