VB怎么判断网络不通
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
------解决方案--------------------
方法一: Const INADDR_NONE As Long = &HFFFFFFFF Const PING_TIMEOUT As Long = 500 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 Declare Function inet_addr Lib "WSOCK32.DLL " (ByVal s As String) As Long Declare Function IcmpCreateFile Lib "icmp.dll " () As Long 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 Declare Function IcmpCloseHandle Lib "icmp.dll " (ByVal IcmpHandle As Long) As Long Function Ping(ip As String) As Boolean Dim Echo As icmp_echo_reply 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 If Echo.Status = 0 Then Ping = True Else Ping = False End If End Function Sub Command1_Click() If Ping( "172.16.17.175 ") Then MsgBox "ping成功 " Else MsgBox "ping失敗 " End Sub 该文章在 2014/3/6 23:38:04 编辑过 |
关键字查询
相关文章
正在查询... |