我通过 VPN 收集了美国、印度和远程用户。我正在使用无 DSN 方法链接到我的 Access DB 应用程序中的远程表。
我需要一种有效的方法来确定用户选择的 IP 是否可达(称为“myIP”)。
我目前的方法 PINGS myIP,但会打开一个讨厌的 CMD 窗口并需要几秒钟才能解决状态。
SystemReachable (myIP)
If InStr(myStatus, "Reply") > 0 Then
' MsgBox "IP is Confirmed Reachable"
Else
MsgBox "[" & myIP & "] is not Reachable" & vbCrLf & vbCrLf & Confirm your selected location, or VPN is active."
Exit Sub
End If
''''''''''''''''''''''''''''
Function SystemReachable(ByVal ComputerName As String)
Dim oShell, oExec As Variant
Dim strText, strCmd As String
strText = ""
strCmd = "ping -n 3 -w 1000 " & ComputerName
Set oShell = CreateObject("WScript.Shell")
Set oExec = oShell.Exec(strCmd)
Do While Not oExec.StdOut.AtEndOfStream
strText = oExec.StdOut.ReadLine()
If InStr(strText, "Reply") > 0 Then
myStatus = strText
Exit Do
Else
myStatus = ""
End If
Loop
End Function
是否有更好/更快的方法来确定“myIP”的状态/可达性?
谢谢!