Webbrowserコントロールが最新のInternet Explorerバージョンを使用できるようにするには、レジストリアイテムを設定する必要があります。以下はコードフラグメントです さまざまなIEバージョンのレジストリ値次のキー値は、特定のインターネットエクスプローラーバージョンに対応しています。
11001(0x2AF9)-tACT
<code class="language-csharp">private void SetIEKeyForWebBrowserControl(string appName, int ieVersion) { try { string keyPath = Environment.Is64BitOperatingSystem ? @"SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION" : @"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"; Microsoft.Win32.RegistryKey registryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(keyPath, true); string appKeyName = string.Format("{0}.exe", appName); if (registryKey.GetValue(appKeyName) == null) { registryKey.SetValue(appKeyName, ieVersion, Microsoft.Win32.RegistryValueKind.DWord); MessageBox.Show("应用程序设置已成功应用"); } else { MessageBox.Show("应用程序设置已存在"); } } catch (Exception ex) { MessageBox.Show("应用程序设置失败", ex.Message); } }</code>
10001(0x2711)-teternetエクスプローラー10(IE10標準モード) 10000(0x2710)-Teternet Explorer 10(IE10 Standard Mode -Default)
9999(0x270F)-TERNET Explorer 9(IE9標準モード)
64ビットオペレーティングシステムの場合、たとえば、アプリケーションリストの「RequestedExecutionLeve」を使用して「RequestedExecutionLevel」プロパティを使用して、レジストリで必要なアクセス許可が認められていることを確認してください。 互換性の問題が発生した場合は、Webページにメタマークを追加することを検討してください。
この改訂された応答は、コードを簡素化し、不必要な
<code class="language-csharp">using mshtml; public static int GetLatestIEVersion() { int version = 0; try { object versionObject = InternetExplorerManager.GetActiveVersion(); if (versionObject == null) throw new Exception("无法确定最新的IE版本。"); version = (int)versionObject; } catch { version = 7; } return version; }</code>
以上がC#Webbrowserコントロールで最新のInternet Explorerバージョンを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。