VB6实现网络连通检测

Private Sub Form_Load() 
If IsConnected = TRUE Then 
MsgBox (“您已经连通了Internet!”) 
End If 
If IsConnected = FALSE Then 
MsgBox (“您还没有连通 Internet!”) 
End If 
End Sub 
  
Option Explicit 
/*有关的API声明和定义*/ 
Public Declare Function RasEnumConnections Lib “RasApi32.dll” 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 
  
/*函数IsConnected返回连通的状态,如果为True则表示已连通*/ 
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 “错误” 
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
posted @ 2004-10-20 12:32  greystar  阅读(730)  评论(0编辑  收藏  举报