vb调用ping命令检测网络

2025-04-19 09:13:16
推荐回答(1个)
回答1:

添加一个textbox控件 代码如下:运行即可得到目的
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

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ip As String = "www.baidu.com"
Dim strRst As String = CmdPing(ip)
TextBox1.Text = strRst
End Sub