/// <summary> /// 修改注册表信息来兼容当前程序 /// </summary> public static void SetWebBrowserFeatures(IeVersion ieVersion) { if (LicenseManager.UsageMode != LicenseUsageMode.Runtime) { return; } //获取程序及名称 string AppName = System.IO.Path.GetFileName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName); //得到浏览器的模式的值 UInt32 ieMode = GeoEmulationModee((int)ieVersion); string featureControlRegKey = @"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\"; //设置浏览器对应用程序(appName)以什么模式(ieMode)运行 Registry.SetValue(featureControlRegKey + "FEATURE_BROWSER_EMULATION", AppName, ieMode, RegistryValueKind.DWord); Registry.SetValue(featureControlRegKey + "FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION", AppName, 1, RegistryValueKind.DWord); Registry.SetValue(featureControlRegKey + "FEATURE_AJAX_CONNECTIONEVENTS", AppName, 1, RegistryValueKind.DWord); Registry.SetValue(featureControlRegKey + "FEATURE_GPU_RENDERING", AppName, 1, RegistryValueKind.DWord); Registry.SetValue(featureControlRegKey + "FEATURE_WEBOC_DOCUMENT_ZOOM", AppName, 1, RegistryValueKind.DWord); Registry.SetValue(featureControlRegKey + "FEATURE_NINPUT_LEGACYMODE", AppName, 0, RegistryValueKind.DWord); }
/// <summary> /// 设置WebBrowser的默认版本 /// </summary> /// <param name="ver">IE版本</param> private void SetIE(IeVersion ver) { string productName = AppDomain.CurrentDomain.SetupInformation.ApplicationName;//获取程序名称 object version; switch (ver) { case IeVersion.标准ie7: version = 0x1B58; break; case IeVersion.标准ie8: version = 0x1F40; break; case IeVersion.强制ie8: version = 0x22B8; break; case IeVersion.标准ie9: version = 0x2328; break; case IeVersion.强制ie9: version = 0x270F; break; case IeVersion.标准ie10: version = 0x02710; break; case IeVersion.强制ie10: version = 0x2711; break; case IeVersion.标准ie11: version = 0x2af8; break; default: version = 0x1F40; break; } RegistryKey key = Registry.CurrentUser; RegistryKey software = key.CreateSubKey( @"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION\" + productName); if (software != null) { software.Close(); software.Dispose(); } RegistryKey wwui = key.OpenSubKey( @"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", true); //该项必须已存在 if (wwui != null) { wwui.SetValue(productName, version, RegistryValueKind.DWord); } }