我想使用Wininet
函數InternetCheckConnection
來檢查本機何時連接到互聯網並且可以訪問特定的主機。 問題是這個函數總是返回false,無論我把它放在哪個URL上。InternetCheckConnection始終返回false
3
A
回答
0
只是胡亂猜測,但也許這是由於個人防火牆阻止了Windows DLL和/或應用程序的一個都傳出連接?
3
您查看過GetLastError()
嗎?如果我正確閱讀MSDN,則需要檢查ERROR_NOT_CONNECTED
以確定您是否真正離線。
5
以下組合爲我工作在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