Tag: 代理

如何使用带有“立即效果”的C#.NET更改全局Windows代理

我正在编写一个Winform(C#.NET)应用程序来更改Windows的全局(也称为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”); 但它表现得很奇怪。 我使用两个浏览器测试了这个 谷歌浏览器: 在Chrome运行时更改/禁用代理时。 Chrome仍在使用之前的代理。 这一变化并未影响其进程。 但是当我打开 Internet Options(inetcpl.cpl) > Connections > LAN Settings 。 现在考虑先前的代理更改。 当我说刚刚打开时,我的意思是开启 。 我的意思是,不要编辑或点击任何其他按钮。 我猜,它的全局代理实际上正在改变(通过从注册表中读取)和谷歌Chrome立即起作用。 Internet Explorer 8: Internet Explorer的情况要糟糕得多。 在IE运行时使用我的应用程序更改/禁用代理后甚至在转到“Internet选项(inetcpl.cpl)>连接> Lan设置”后,正在运行的IE代理不会受到影响。 即使我在新标签中打开新链接也不行。 我不得不重新启动IE以进行该更改。 我想要的行为是,每当我在我的应用程序中更改代理设置时,所有使用全局代理的浏览器(无论它们是否正在运行)都应立即将更改纳入设置中。 我怎样才能做到这一点?

C#自动检测代理设置

C#2008 SP1 我正在使用代码来检测是否已在“Internet选项”下设置了代理。 如果有代理,那么我将在我的webclient中设置它。 所以我只是检查代理的地址是否存在。 如果没有,那么webclient中没有设置代理。 这是正确的方法: 非常感谢任何建议, WebProxy proxy = WebProxy.GetDefaultProxy(); if (proxy.Address.ToString() != string.Empty) { Console.WriteLine(“Proxy URL: ” + proxy.Address.ToString()); wc.Proxy = proxy; } ======代码编辑====== [DllImport(“wininet.dll”, CharSet = CharSet.Auto)] private extern static bool InternetGetConnectedState(ref InternetConnectionState_e lpdwFlags, int dwReserved); [Flags] enum InternetConnectionState_e : int { INTERNET_CONNECTION_MODEM = 0x1, INTERNET_CONNECTION_LAN = 0x2, INTERNET_CONNECTION_PROXY = 0x4, […]

如何在不影响SYSTEM / IE代理的情况下为Webbrowser Control设置代理

如何在不设置IE代理的情况下为Web浏览器控件设置代理? 基本上我希望我的应用程序使用某个代理,但显然我不想更改用户的IE代理设置。