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進数) | バージョンと意味 |
11001 | 0x2AF9 | Internet Explorer 11, Edgeモード (最新のバージョンでレンダリング) |
11000 | 0x2AF8 | Internet Explorer 11 |
10001 | 0x2711 | Internet Explorer 10, Standardsモード |
10000 | 0x2710 | Internet Explorer 10 (!DOCTYPE で指定がある場合は、Standardsモードになります。) |
9999 | 0x270F | Internet Explorer 9, Standardsモード |
9000 | 0x2710 | Internet Explorer 9 (!DOCTYPE で指定がある場合は、Standardsモードになります。) |
8888 | 0x22B8 | Internet Explorer 8, Standardsモード |
8000 | 0x1F40 | Internet Explorer 8 (!DOCTYPE で指定がある場合は、Standardsモードになります。) |
7000 | 0x1B58 | Internet 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を愛用