检查Internet连接可用性
使用下面的代码,在这篇文章的帮助下,我正在检查用户是否有可用的Internet连接:
Private Declare Function InternetGetConnectedState _ Lib "wininet.dll" (ByRef dwflags As Long, _ ByVal dwReserved As Long) As Long Private Const INTERNET_CONNECTION_MODEM As Long = &H1 Private Const INTERNET_CONNECTION_LAN As Long = &H2 Private Const INTERNET_CONNECTION_PROXY As Long = &H4 Private Const INTERNET_CONNECTION_OFFLINE As Long = &H20 Function IsInternetConnected() As Boolean Dim L As Long Dim R As Long R = InternetGetConnectedState(L, 0&) If R = 0 Then IsInternetConnected = False Else If R <= 4 Then IsInternetConnected = True Else IsInternetConnected = False End If End If End Function
这是返回以下错误,这似乎与64位系统有关:
我怎样才能以可靠的方式使这个代码适应32-64系统?
也许检查用户系统和google.com的响应?
添加PtrSafe
Win 64位的声明:
Private Declare PtrSafe Function InternetGetConnectedState _ Lib "wininet.dll" (ByRef dwflags As Long, _ ByVal dwReserved As Long) As Long