Heim >Backend-Entwicklung >C++ >Wie kann ich die neueste Internet Explorer -Version mit der C# Webbrowser -Steuerung verwenden?

Wie kann ich die neueste Internet Explorer -Version mit der C# Webbrowser -Steuerung verwenden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-30 14:41:11935Durchsuche

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

Die neueste Version von Internet Explorer

Die Webbrowser -Steuerung in der Anwendung

c# Windows Forms verwendet standardmäßig Internet Explorer 7. Obwohl es über die "Browser -Simulation" -Technologie auf 9 geändert werden kann, kann dies nicht auf die neueste Internet Explorer -Version zugreifen.

Stellen Sie das IE -Registrierungselement für die Webbrowser -Steuerung

fest Um dem Webbrowser -Steuerelement die neueste Internet Explorer -Version zu verwenden, müssen Sie ein Registrierungselement einrichten. Das Folgende ist ein Codefragment:

Der Registrierungswert verschiedener IE -Versionen
<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>

Die folgenden Schlüsselwerte entsprechen der spezifischen Internet -Explorer -Version:

11001 (0x2af9) -Takt

11000 (0x2af8) -Takt
    10001 (0x2711) -Teternet Explorer 10 (IE10 Standardmodus)
  • 10000 (0x2710) -Teternet Explorer 10 (IE10 Standardmodus -default)
  • 9999 (0x270f) -Ternet Explorer 9 (IE9 Standardmodus)
  • 9000 (0x2328) -tysnet Explorer 9 (IE9 -Modus -default)
  • 8888 (0x22b8) -Ternet Explorer 8 (IE8 Standardmodus)
  • 8000 (0x1f40) -Ternet Explorer 8 (IE8 -Modus -default)
  • Bestimmen Sie die neueste IE -Version
  • Um die neueste IE -Version zu erhalten, die installiert wurde, verwenden Sie bitte den folgenden Code:

Stellen Sie das Registrierungselement automatisch für die neueste IE -Version

fest

Folgendes ist ein Beispiel für Code, mit dem automatisch das Registrierungselement für die neueste IE -Version ermittelt und festgelegt wird:

<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>

Andere Tipps

Für 64 -Bit -Betriebssysteme stellen Sie sicher, dass die erforderlichen Berechtigungen in der Registrierung erteilt wurden, beispielsweise unter Verwendung der Eigenschaft "RequestedeExecisionLevel" unter Verwendung der "RequestedExecisionleve" in der Antragsliste.

<code class="language-csharp">private void Form1_Load(object sender, EventArgs e)
{
    int latestVersion = GetLatestIEVersion();
    SetIEKeyForWebBrowserControl("MyApplication", latestVersion);
}</code>
Wenn Kompatibilitätsprobleme auftreten, sollten Sie Ihre Webseite

Meta -Markierungen hinzufügen.

Diese überarbeitete Antwort vereinfacht den Code, entzieht den unnötigen
    -Prüfung (wenn der Wert überschreibt, wenn es existiert) und klärt diese Erläuterung

Das obige ist der detaillierte Inhalt vonWie kann ich die neueste Internet Explorer -Version mit der C# Webbrowser -Steuerung verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn