ホームページ > バックエンド開発 > C++ > C#Webbrowserコントロールで最新のInternet Explorerバージョンを使用するにはどうすればよいですか?

C#Webbrowserコントロールで最新のInternet Explorerバージョンを使用するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-30 14:41:11
オリジナル
865 人が閲覧しました

How Can I Use the Latest Internet Explorer Version with the C# WebBrowser Control?

インターネットエクスプローラーの最新バージョンC#WindowsフォームのWebbrowserコントロールは、デフォルトでInternet Explorer 7を使用します。 「ブラウザシミュレーション」テクノロジーを介して9に変更できますが、最新のインターネットエクスプローラーバージョンにアクセスすることはできません。 Webbrowserコントロール用のIEレジストリアイテムを設定

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>
ログイン後にコピー
11000(0x2AF8)-tACT

10001(0x2711)-teternetエクスプローラー10(IE10標準モード) 10000(0x2710)-Teternet Explorer 10(IE10 Standard Mode -Default)

9999(0x270F)-TERNET Explorer 9(IE9標準モード)

    9000(0x2328)-TysNet Explorer 9(IE9 MODE -DEFAULT)
  • 8888(0x22B8)-TERNET Explorer 8(IE8標準モード)
  • 8000(0x1F40)-TERNET EXPLORER 8(IE8 MODE -DEFAULT)
  • 最新のIEバージョンを決定
  • インストールされている最新のIEバージョンを取得するには、次のコードを使用してください。
  • 最新のIEバージョンのレジストリアイテムを自動的に設定します以下はコードの例です。これは、最新のIEバージョンのレジストリアイテムを自動的に決定および設定するために使用されます。
  • その他のヒント

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート