یک نکتهی تکمیلی
تعیین شماره نگارش IE مورد استفادهی توسط برنامه به صورت خودکار:
در اینجا شماره نگارش IE از کنترل WebBrowser دریافت میشود و همیشه به آخرین نگارش تنظیم خواهد شد و همچنین چون از Registry.CurrentUser استفاده میکند، نیازی به دسترسی مدیریتی برای اعمال ندارد.
تعیین شماره نگارش IE مورد استفادهی توسط برنامه به صورت خودکار:
using System; using System.Diagnostics; using Microsoft.Win32; using System.Windows.Forms; namespace Core { public static class UseLatestVersionOfIE { /// <summary> /// Use the latest version of IE in WebBrowser control /// </summary> public static void SetWebBrowserVersion() { RegistryKey regkey = null; try { regkey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", writable: true); if (regkey == null) { return; } var regVal = getInstalledIEVersion(); var appName = string.Format("{0}.exe", Process.GetCurrentProcess().ProcessName); regkey.SetValue(appName, regVal, RegistryValueKind.DWord); } catch (Exception ex) { // todo: log ... } finally { if (regkey != null) { regkey.Close(); } } } private static int getInstalledIEVersion() { int browserVer; using (var wb = new WebBrowser()) { browserVer = wb.Version.Major; } int regVal; if (browserVer >= 11) regVal = 11001; else switch (browserVer) { case 10: regVal = 10001; break; case 9: regVal = 9999; break; case 8: regVal = 8888; break; default: regVal = 7000; break; } return regVal; } } }