如果未在系统上设置自动检测代理设置
问题描述:
这里已经有几个问题处理查找系统默认设置并使用这些设置。这些帮助为我的应用程序提供了“使用系统默认值”选项,但我偶尔与不知道他们的系统是否在代理背后的用户合作(并且可能没有足够的IT人员),因此他们甚至可能不会在他们的系统上有任何代理设置。如果未在系统上设置自动检测代理设置
我该如何去自动检测代理(如果可能的话)?我还没有找到一个可以提供足够帮助的帖子,而MDSN也没有太多的帮助...
答
如果我理解正确,你想检查代理设置是否启用,并获得它的设置。您可以使用以下代码(VB.Net),它可以轻松转换为C#,以启用/禁用代理并设置代理值。通常,您可以使用注册表来实现它:
Private Sub Enable_Proxy(ByVal Proxyset As String)
Dim regkeyProxy_Enable As RegistryKey
'Registry Key Location
regkeyProxy_Enable = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", True)
'Change The Proxy Enable value
regkeyProxy_Enable.SetValue("ProxyEnable", 1, RegistryValueKind.DWord)
'Set the proxy server value
regkeyProxy_Enable.SetValue("ProxyServer", Proxyset, RegistryValueKind.String)
End Sub
Private Sub Disable_Proxy()
Dim regkeyProxy_Enable As RegistryKey
regkeyProxy_Enable = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", True)
'Disable The proxy
regkeyProxy_Enable.SetValue("ProxyEnable", 0, RegistryValueKind.DWord)
End Sub
您可以使用此示例并根据需要对其进行修改。 请注意,以下按键代表Windows计算机上的代理设置,如果我没有记错,它应用于IE和Chrome,我记得Firefox使用它自己的设置。
Liron