WebBrowser コントロールのInternet Explorerを最新のバージョンに変更する - C#

WebBrowser コントロールで使われている Internet Explorerを最新のバージョンに変更する方法を紹介します。

概要

WebBrowser コントロールでWebページを表示する - WebBrowser コントロールを利用したシンプルなアプリケーションの作成」の記事で紹介したとおり、アプリケーションでWebBrowserコントロールを利用した場合、デフォルトの状態ではWebBrowserコントロールはInternet Explorer 7として動作します。


この記事では、WebBrowserコントロールのInternet Explorerを最新のバージョンや、特定のバージョンに指定して動作させる手順を紹介します。

手順

WebBrowserコントロールを使用しているアプリケーションの実行ファイル名を調べます。今回の例では"WebBrowserControl.exe"という実行ファイル名です。


レジストリエディタを起動します。


レジストリエディタで、"\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION" キーを開きます。キーが存在していれば実行ファイル名の値で数値(DWORD)のデータが登録されています。(下図では実行ファイル名の値は登録されていません。)


"FEATURE_BROWSER_EMULATION"キーに値を追加します。HKEY_LOCAL_MACHINEに追加しても良いですが、今回は現在のユーザーのみで動作確認できればよいため、
"\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"
に値を追加します。HKEY_CURRENT_USERノードを下りていくと、"\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main"キーまでしか存在していません。


右クリックしポップアップメニューを表示します。メニューの[新規]の[キー]を選択します。


新しいキーが作成されますので、"FeatureControl"キーを作成し、さらに"FEATURE_BROWSER_EMULATION"キーを作成します。"FEATURE_BROWSER_EMULATION"キーを選択し、右クリックポップアップメニューの[新規]の[DWORD (32ビット)値]を選択します。


値が作成されます。値の名称を実行ファイル名"WebBrowserControl.exe"とします。値のデータは使用したいIEのバージョンの数値を設定します。

IEのバージョンと値

"FEATURE_BROWSER_EMULATION"キー内の値のデータとIEのversionの関係は以下になります。
値 (10進数)値 (16進数)バージョンと意味
110010x2AF9Internet Explorer 11, Edgeモード (最新のバージョンでレンダリング)
110000x2AF8Internet Explorer 11
100010x2711Internet Explorer 10, Standardsモード
100000x2710Internet Explorer 10 (!DOCTYPE で指定がある場合は、Standardsモードになります。)
99990x270FInternet Explorer 9, Standardsモード
90000x2710Internet Explorer 9 (!DOCTYPE で指定がある場合は、Standardsモードになります。)
88880x22B8Internet Explorer 8, Standardsモード
80000x1F40Internet Explorer 8 (!DOCTYPE で指定がある場合は、Standardsモードになります。)
70000x1B58Internet Explorer 7 (!DOCTYPE で指定がある場合は、Standardsモードになります。)

実行結果

データが 7000 の場合

Internet Explorer 7 (IE7) として動作します。

データが 8888 の場合

Internet Explorer 8 (IE8) として動作します。

データが 9999 の場合

Internet Explorer 9 (IE9) として動作します。

データが 10001 の場合

Internet Explorer 10 (IE10) として動作します。

データが 11001 の場合

Internet Explorer 11 (IE11) として動作します。

補足:HKEY_LOCAL_MACHINE に追加する場合

HKEY_LOCAL_MACHINE の FEATURE_BROWSER_EMULATION に値を追加する場合は、
"\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"
キーだけではなく、32ビットアプリケーションがアクセスする下記のノード
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"
"HKEY_LOCAL_MACHINE\SOFTWARE" キー下の "Wow6432Node" キー以下に値を追加します。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2014-06-30
iPentec all rights reserverd.