Windows:如何检索自动代理设置?

时间:2017-08-08 18:45:20

标签: winapi proxy windows-10

我想知道如何使用Windows SDK功能检索主机的当前代理设置?

在Windows 10中,这些设置如下所示:

enter image description here

我特别感兴趣的是检索上面红框中的信息。我熟悉WinHTTP API,但只能从上面窗口的底部(手动代理部分)检索信息。

我已经弄清楚红色框中的信息存储在注册表中的位置,但我不认为Microsoft打算让我们走这条路,因为其他有关Proxy的信息确实可以通过SDK功能获得这样可以防止来电者知道信息的实际存储位置。我确定它在SDK中的某处。

我正在寻找一种甚至可以从无头过程中调用的解决方案,例如:一项服务。据我了解,然后排除使用WinInet API。

1 个答案:

答案 0 :(得分:0)

根据KB226473 IE4使用INTERNET_OPTION_PROXYINTERNET_PROXY_INFO),它只提供基本的代理信息。 IE5 +使用INTERNET_OPTION_PER_CONNECTION_OPTIONINTERNET_PER_CONN_OPTION_LIST)来获取/设置代理选项。将NULL作为InternetQueryOption的句柄传递,以阅读全局选项。

这些选项通常是用户特定的,但可以通过ProxySettingsPerUser REG_DWORD设置强制为HKLM。我相信WinINet只是使用普通的注册表功能来读取设置,因此您可能尝试调用RegDisablePredefinedCache并模拟用户。 RegOverridePredefKey也可能有用。

这意味着您知道哪个用户是"正确"用户。