以编程方式在C#中设置浏览器代理设置

我写一个winforms应用程序,需要设置Internet Explorer的代理设置,然后打开一个新的浏览器窗口。目前,我通过进入注册表应用代理设置:

RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true);
registry.SetValue("ProxyEnable", 1);
registry.SetValue("ProxyServer", "127.0.0.1:8080");

要进入注册表最好的方法做这个,还是有更推荐的方法?如果有一个替代解决方案,我想避免注册表更改。

这取决于你的确切需求。如果你正在编写一个C#应用程序,只是想设置你的应用程序将使用的默认代理设置,请使用System.Net.GlobalProxySelection类(http://msdn.microsoft.com/en-us/library/system.net.globalproxyselection.aspx)。您还可以为System.Net.WebProxy(http://msdn.microsoft.com/en-us/library/system.net.webproxy.aspx)的任何特定连接设置代理。

如果你真的想更新注册表中的代理设置,我相信你需要使用P / Invoke来调用WinAPI函数WinHttpSetDefaultProxyConfiguration(http://msdn.microsoft.com/en-us/library/aa384113.aspx)。

http://stackoverflow.com/questions/197725/programmatically-set-browser-proxy-settings-in-c-sharp

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:以编程方式在C#中设置浏览器代理设置