天天@BLOG

脖子越来越疼,脑袋越来越钝
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在C#中使用Ping

Posted on 2006-07-23 09:21  天天在线  阅读(384)  评论(0编辑  收藏  举报

using System;
using System.Diagnostics;

namespace ConsoleApplication7 {
 class Class1 {

  [STAThread]
  static void Main(string[] args) {   
   string ip = "10.10.40.31";
   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;
  }
 }
}

@忙碌,不代表有效率;方法,远胜于苦干