InternetCheckConnection始终返回false
问题描述:
我想使用Wininet
函数InternetCheckConnection
来检查本机何时连接到互联网并且可以访问特定的主机。 问题是这个函数总是返回false,无论我把它放在哪个URL上。InternetCheckConnection始终返回false
答
只是胡乱猜测,但也许这是由于个人防火墙阻止了Windows DLL和/或应用程序的一个都传出连接?
答
您查看过GetLastError()
吗?如果我正确阅读MSDN,则需要检查ERROR_NOT_CONNECTED
以确定您是否真正离线。
答
以下组合为我工作在Windows 7和Windows XP SP3:
InternetCheckConnection("http://www.google.com", FLAG_ICC_FORCE_CONNECTION, 0) ;
GetLastError()返回0,如果接头是可能的,它返回 12029(尝试连接到服务器失败) 如果不。
继combonations不为我工作:
InternetCheckConnection(NULL, FLAG_ICC_FORCE_CONNECTION, 0) ;
GetLastError()返回12016(请求的操作是无效的)。
InternetCheckConnection(NULL, 0, 0) ;
InternetCheckConnection(("http://www.google.com", 0, 0) ;
GetLastError()返回2250(无法找到网络连接)。
我没有在我的机器上配置防火墙。所有协议和端口都可以自由访问。 :) – gmuller 2009-02-18 12:31:34