vb6.0如何实现ping,当不通时,丢包超过10个时才提示网络不通

vb6.0怎么实现ping,当不通时,丢包超过10个时才提示网络不通
用ping实现,当丢包超过十个时才提示网络不通

------解决方案--------------------
新建一个模块,名字任意,把以下代码复制进去
VB code

Option Explicit
Public Const INADDR_NONE As Long = &HFFFFFFFF
Public Const PING_TIMEOUT As Long = 1000
Public Type ICMP_ECHO_REPLY
  Address         As Long
  status          As Long
  RoundTripTime   As Long
  DataSize        As Long
  DataPointer     As Long
  Data            As String * 250
End Type
Public ECHO As ICMP_ECHO_REPLY
Public Declare Function inet_addr Lib "WSOCK32.DLL" (ByVal s As String) As Long
Public Declare Function IcmpCreateFile Lib "icmp.dll" () As Long
Public Declare Function IcmpSendEcho Lib "icmp.dll" (ByVal IcmpHandle As Long, _
    ByVal DestinationAddress As Long, ByVal RequestData As String, ByVal RequestSize As Long, _
    ByVal RequestOptions As Long, ReplyBuffer As ICMP_ECHO_REPLY, ByVal ReplySize As Long, _
    ByVal Timeout As Long) As Long
Public Declare Function IcmpCloseHandle Lib "icmp.dll" (ByVal IcmpHandle As Long) As Long


Public Function Ping(ip As String) As Integer
  Dim mystr As String
  Dim hPort As Long
   mystr = inet_addr(ip)
     If mystr <> INADDR_NONE Then
       hPort = IcmpCreateFile()
        If hPort Then
           Call IcmpSendEcho(hPort, mystr, 0, 0, 0, ECHO, Len(ECHO), PING_TIMEOUT) '发送回响请求报文,返回回响应答报文
           Call IcmpCloseHandle(hPort)
        End If
        Ping = ECHO.RoundTripTime
'       If ECHO.status = 0 Then ping = True Else ping = False
'        MsgBox ECHO.Address       '显示网络计算机地址
'        MsgBox ECHO.RoundTripTime & " ms"      '显示网络链接延迟时间
'        MsgBox ECHO.DataSize & " bytes  显示数据包大小"
'        MsgBox ECHO.DataPointer
   End If
End Function