我想知道如何使用Windows SDK功能检索主机的当前代理设置?
在Windows 10中,这些设置如下所示:
我特别感兴趣的是检索上面红框中的信息。我熟悉WinHTTP API,但只能从上面窗口的底部(手动代理部分)检索信息。
我已经弄清楚红色框中的信息存储在注册表中的位置,但我不认为Microsoft打算让我们走这条路,因为其他有关Proxy的信息确实可以通过SDK功能获得这样可以防止来电者知道信息的实际存储位置。我确定它在SDK中的某处。
我正在寻找一种甚至可以从无头过程中调用的解决方案,例如:一项服务。据我了解,然后排除使用WinInet API。
答案 0 :(得分:0)
根据KB226473 IE4使用INTERNET_OPTION_PROXY
(INTERNET_PROXY_INFO
),它只提供基本的代理信息。 IE5 +使用INTERNET_OPTION_PER_CONNECTION_OPTION
(INTERNET_PER_CONN_OPTION_LIST
)来获取/设置代理选项。将NULL
作为InternetQueryOption
的句柄传递,以阅读全局选项。
这些选项通常是用户特定的,但可以通过ProxySettingsPerUser REG_DWORD设置强制为HKLM。我相信WinINet只是使用普通的注册表功能来读取设置,因此您可能尝试调用RegDisablePredefinedCache
并模拟用户。 RegOverridePredefKey
也可能有用。
这意味着您知道哪个用户是"正确"用户。