China GIS

聚一乐,散而得其所矣是一乐。

导航

使用C#调用外部Ping命令获取网络连接情况

Posted on 2004-06-10 13:02  集思  阅读(469)  评论(0)    收藏  举报

using System;

using System.Diagnostics;

 

namespace ZZ

{

     class ZZConsole

     {

         [STAThread]
         static void Main(string[] args)

         {   

              string ip = "192.168.1.1";

              string strRst = CmdPing(ip);

              Console.WriteLine(strRst);

              Console.ReadLine();

         }

 

         private static string CmdPing(string strIp)

         {

              Process p = 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;

 

              string pingrst;

              p.Start();

              p.StandardInput.WriteLine("ping -n 1 "+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;

         }

     }

}

 

 原文:http://dev.csdn.net/article/25/25900.shtm