【发布时间】:2015-11-12 00:36:12
【问题描述】:
使用以下代码,在this post 的帮助下,我正在检查用户是否有有效的互联网连接:
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 的响应?
【问题讨论】:
-
你需要使用像#if vba7这样的预编译器......谷歌预编译器声明ptrsafe之类的,不是一分钟的excel,记不住:)
-
@user5414798 好的,谢谢,我去看看什么是预编译器!