C#调用CMD中的PING命令

来源:互联网 发布:php统计网站访问ip 编辑:程序博客网 时间:2024/05/18 04:00

  private static string CmdPing(string strIp)
        {

            Process p = new Process();

            //设定程序名
            p.StartInfo.FileName = "cmd.exe";

            //关闭Shell的使用

            p.StartInfo.UseShellExecute = false;

            //重定向标准输入

            p.StartInfo.RedirectStandardInput = true;

            //重定向标准输出

            p.StartInfo.RedirectStandardOutput = true;

            //重定向错误输出

            p.StartInfo.RedirectStandardError = true;

            //设置不显示窗口

            p.StartInfo.CreateNoWindow = true;


            string pingrst;

            p.Start();

            p.StandardInput.WriteLine("ping " + strIp);

            p.StandardInput.WriteLine("exit");

            string strRst = p.StandardOutput.ReadToEnd();

            if (strRst.IndexOf("(0% loss)") != -1)

                pingrst = "连接";

            else if (strRst.IndexOf("Destination host unreachable.") != -1)

                pingrst = "无法到达目的主机";

            else if (strRst.IndexOf("Request timed out.") != -1)

                pingrst = "超时";

            else if (strRst.IndexOf("Unknown host") != -1)

                pingrst = "无法解析主机";

            else

                pingrst = strRst;

            p.Close();

            return pingrst;

        }