VB.net 代码 调用外部Ping命令判断网络连通状况

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Dim ip As String = "192.168.0.1"
               Dim strRst As String = CmdPing(ip)
                TextBox4.Text = strRst
    End Sub
      Public Function CmdPing(ByVal strIp As String) As String
        Dim p As New Process '创建一个线程
        p.StartInfo.FileName = "cmd.exe" 

        p.StartInfo.UseShellExecute = False
        p.StartInfo.RedirectStandardInput = True
        p.StartInfo.RedirectStandardOutput = True
        p.StartInfo.RedirectStandardError = True
        p.StartInfo.CreateNoWindow = True
        Dim pingrst As String
        p.Start()
        p.StandardInput.WriteLine("ping -n 1 " + strIp) 
        p.StandardInput.WriteLine("exit") 
        Dim strRst As String = p.StandardOutput.ReadToEnd() 
        If (strRst.IndexOf("(0% loss)") <> -1) Then 
            pingrst = "连接成功"
        ElseIf (strRst.IndexOf("Destination host unreachable.") <> -1) Then
            pingrst = "无法到达目的主机"
        ElseIf ((strRst.IndexOf("Request timed out.") <> -1) Or (strRst.IndexOf("(100% loss)") <> -1)) Then
            pingrst = "超时"
        ElseIf (strRst.IndexOf("Unknown host") <> -1) Then
            pingrst = "无法解析主机"
        Else
            pingrst = strRst
        End If
        p.Close()
        Return pingrst
    End Function

posted on 2009-04-12 09:26  意扬  阅读(1221)  评论(0编辑  收藏  举报

导航