Heim >Backend-Entwicklung >C++ >Wie kann ich die neueste Internet Explorer -Version mit der C# Webbrowser -Steuerung verwenden?
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.
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) -TaktStellen Sie das Registrierungselement automatisch für die neueste IE -Version
festFolgendes 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ötigenDas 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!