Winform獲取並設定WebBrowser所用的IE核心版本

qianby發表於2021-09-09

Winform程式的WebBrowser控制元件預設使用的是IE核心。但由於IE版本的不同,往往存在各種相容性的問題。

本文給出了獲取本機IE核心版本並設定WebBrowser所用IE核心版本的示例程式碼:

        /// 
        /// 設定WebBrowser所用的IE核心版本
        /// 
        /// 
        static void SetIEEmulation(string app)
        {
            var reg = Registry.LocalMachine;
            var ie = reg.OpenSubKey(@"SOFTWAREMicrosoftInternet ExplorerMAINFeatureControlFEATURE_BROWSER_EMULATION", RegistryKeyPermissionCheck.ReadWriteSubTree);
            if (ie != null)
            {
                try
                {
                    var emulation = GetIEVersionEmulation();
                    if (emulation != 0)
                    {
                        ie.SetValue(app, emulation);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("設定IE出錯", ex.Message);
                }
            }

            reg.Close();
        }

        /// 
        /// 根據IE版本號,獲取Emulation值
        /// 
        /// 
        /// 
        static int GetIEVersionEmulation()
        {
            int ieVersion = 0;//IE版本號

            RegistryKey reg = Registry.LocalMachine;
            reg = reg.CreateSubKey("SOFTWARE\Microsoft\Internet Explorer");

            var svcVersion = reg.GetValue("svcVersion");
            var version = reg.GetValue("Version");
            if (svcVersion != null)
            {
                reg.Close();
                ieVersion = int.Parse(svcVersion.ToString().Split('.')[0]);
            }
            else if (version != null)
            {
                reg.Close();
                ieVersion = int.Parse(version.ToString().Split('.')[0]);
            }

            if (ieVersion  

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3549/viewspace-2814068/,如需轉載,請註明出處,否則將追究法律責任。

相關文章