这段代码可以检测电脑是否有联网,比用ping或获取IP的方法可能会更高效吧。
Alias “RasEnumConnectionsA” (lpRasCon As Any, _
lpcb As Long, lpcConnections As Long) As Long
Public Declare Function RasGetConnectStatus Lib “RasApi32.dll” _
Alias “RasGetConnectStatusA” (ByVal hRasCon As Long, _
lpStatus As Any) As Long
Public Const RAS95_MaxEntryName = 256
Public Const RAS95_MaxDeviceType = 16
Public Const RAS95_MaxDeviceName = 32
Public Type RASCONN95
dwSize As Long
hRasCon As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
Public Type RASCONNSTATUS95
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
程序:
Private Sub main()
If IsConnected = True Then
MsgBox “已连接到Internet!”, vbInformation, “提示”
Else
MsgBox “未连接到Internet!”, vbInformation, “提示”
End If
End Sub
Public Function IsConnected() As Boolean
Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95
'
TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize
'
RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
If RetVal 0 Then
MsgBox “产生错误!”, vbInformation, “提示”
Exit Function
End If
'
Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
If Tstatus.RasConnState = &H2000 Then
IsConnected = True
Else
IsConnected = False
End If
End Function
来源:夕阳醉了's Blog
地址:http://oznn.com/post/27/
转载请保留链接:https://ilovetile.sijie.wang/131/ 感谢您对版权的尊重
也可以检查注册表。。。
@ivy 这个没有研究过。