WinHttpGetDefaultProxyConfiguration返回错误的代理信息

时间:2012-11-22 12:34:06

标签: c++ windows winapi

我想检索默认代理设置。为此,我使用下一个代码:

WINHTTP_PROXY_INFO ProxyInfo;
ZeroMemory( &ProxyInfo, sizeof(ProxyInfo) );

BOOL result = WinHttpGetDefaultProxyConfiguration(&ProxyInfo);

if (result)
{
    //...
}

该函数返回TRUE,但在ProxyInfo中,无论我通过ProxyCfg.exe-> Connections-> LAN Settings-> Proxy Server放置了什么设置,我都有:WINHTTP_ACCESS_TYPE_NO_PROXYlpszProxy == NULL。你知道我在这里做错了吗?

我在Win7 64位机器上测试了这段代码,但我需要它能在所有WinXP +版本中运行。

我检查了libproxy项目,并从注册表中检索了代理设置。这种方法可靠吗?所有Windows版本中的代理配置是否都是相同的注册表路径?

1 个答案:

答案 0 :(得分:1)

我已经尝试过Chrome中使用的方法,但效果很好。此外,它应该在多个Windows版本中进行测试。

WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ProxyInfo;
BOOL result = WinHttpGetIEProxyConfigForCurrentUser(&ProxyInfo);