如果未在系统上设置自动检测代理设置

问题描述:

这里已经有几个问题处理查找系统默认设置并使用这些设置。这些帮助为我的应用程序提供了“使用系统默认值”选项,但我偶尔与不知道他们的系统是否在代理背后的用户合作(并且可能没有足够的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