Kawalan WebBrowser dalam aplikasi Borang
C# Windows menggunakan Internet Explorer 7 secara lalai. Walaupun ia boleh diubah suai hingga 9 melalui teknologi "simulasi penyemak imbas", ini tidak dapat mengakses versi Internet Explorer terkini.
Untuk membolehkan kawalan WebBrowser menggunakan versi Internet Explorer terkini, anda perlu menyediakan item pendaftaran. Berikut adalah serpihan kod:
Nilai pendaftaran versi IE yang berbeza
<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>
Nilai kunci berikut sesuai dengan versi Internet Explorer tertentu:
11001 (0x2af9) -tak
11000 (0x2af8) -taksecara automatik menetapkan item pendaftaran untuk versi IE terbaru
Berikut adalah contoh kod, yang digunakan untuk menentukan dan menetapkan item pendaftaran secara automatik untuk versi IE terkini:
<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>
Petua Lain
Untuk sistem operasi 64 -bit, pastikan kebenaran yang diperlukan telah diberikan dalam pendaftaran, contohnya, dengan menggunakan harta "diminta
<code class="language-csharp">private void Form1_Load(object sender, EventArgs e) { int latestVersion = GetLatestIEVersion(); SetIEKeyForWebBrowserControl("MyApplication", latestVersion); }</code>
tanda meta ke laman web anda. [
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan versi Internet Explorer terkini dengan kawalan C# Webbrowser?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!