これを必要とする他の人々へのさらなる参照のために:
まず第一に
、私の質問に対する答えを見つける手助けをしてくれたBooとLex Liに感謝します。
特定のレジストリを正しい値に設定する必要があります。
32 ビットと 64 ビットのアプリケーションには、2 つの異なるキー セットがあります。
32 ビット:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
Value Key: yourapplication.exe
64 ビット:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
Value Key: yourapplication.exe
このキーを設定する値は (MSDN here から取得) 10 進値です。
9999 (0x270F)
Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the !DOCTYPE directive.
9000 (0x2328)
Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.
8888 (0x22B8)
Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive.
8000 (0x1F40)
Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.
7000 (0x1B58)
Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.
厳しい MSDn でさえ、9000 が自動的に割り当てられる値であると主張しています。どうやらこれは単に真実ではありません。
以下に、これらのキーをレジストリに追加するコードを示します。デバッグ時には、アプリケーションのプロセス名が異なることに注意してください。
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", true);
if (key != null)
{
key.SetValue("YourApplicationName.exe", 9000, RegistryValueKind.DWord);
}
key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", true);
if (key != null)
{
key.SetValue("YourApplicationName.exe", 9000, RegistryValueKind.DWord);
}
それでは、皆さんに感謝します。幸運を祈ります
編集: このコードを機能させるには、ユーザー アカウント制御をオフにする必要があります。