利用WebBrowser网址访问问题及不同操作系统IE本地网络注册表解决

本文介绍了一种通过写注册表方法自动加入IE本地网络以降低安全控制的解决方案,针对利用WebBrowser封装专门网址访问时遇到的安全问题,特别针对服务器版本的操作系统进行了详细阐述。包括具体代码实现步骤,涉及地址解析、注册表操作以及IE本地网络加入过程。

利用WebBrowser封装专门网址访问,会有诸多安全问题。如:下拉列表改变不引起回发、图片按钮失效等,特别是服务器版本的操作系统

彻底解决方法,将访问的地址通过写注册表的方法自动加入IE的本地网络以降低安全控制。

具体代码:

string _Url = “http://61.135.169.125”

            string keyRanges = "Ranges";
            try
            {
                RegistryKey reg = Registry.LocalMachine;
                RegistryKey regSet = reg.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", false);
                if (regSet.GetValue("ProductName") != null
                    && regSet.GetValue("ProductName").ToString().IndexOf(" Server") != -1)
                {
                    keyRanges = "EscRanges";
                }
                regSet.Close();
                reg.Close();
            }
            catch { }

            try
            {
                //加入IE本地
                int p1 = _Url.IndexOf("://");
                string http = _Url.Substring(0, p1);
                int p2 = _Url.LastIndexOf(":");
                string ip;
                if (p2 == p1)
                {
                    ip = _Url.Substring(p1 + 3);
                }
                else
                {
                    ip = _Url.Substring(p1 + 3, p2 - p1 - 3);
                }

                RegistryKey reg = Registry.CurrentUser;
                RegistryKey regSet = reg.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap", true);
                RegistryKey regSetRanges = regSet.OpenSubKey(keyRanges, true);
                if (regSetRanges == null)
                {
                    regSetRanges = regSet.CreateSubKey(keyRanges);
                }
                RegistryKey regSetUrl = regSetRanges.OpenSubKey("Range0");
                if (regSetUrl == null)
                {
                    regSetUrl = regSetRanges.CreateSubKey("Range0");
                    regSetUrl.SetValue(":Range", ip);
                    regSetUrl.SetValue(http, 1, RegistryValueKind.DWord);
                }
                regSetUrl.Close();
                regSetRanges.Close();
                regSet.Close();
                reg.Close();
            }
            catch { }

            try
            {
                //修改IE打印设置
                RegistryKey reg = Registry.CurrentUser;
                RegistryKey regSet = reg.OpenSubKey("Software\\Microsoft\\Internet Explorer\\PageSetup", true);
                if (regSet != null)
                {
                    regSet.SetValue("header", "");
                    regSet.SetValue("footer", "");
                    regSet.SetValue("margin_bottom", "0.39");
                    regSet.SetValue("margin_left", "0.39");
                    regSet.SetValue("margin_right", "0.39");
                    regSet.SetValue("margin_top", "0.39");
                    regSet.Close();
                }
                reg.Close();
            }
            catch { }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值