首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> C# >> 正文

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

 
  有了输出结果,那还有什么好说的,分析strRst字符串就可以知道网络的连接情况了。
 
  下面是一个完整的程序,当然对Ping.exe程序执行的结果不全,读者可以进一步修改
 
  完整代码如下:
 
  

 using System;
using System.Diagnostics;
namespace ZZ
{
class ZZConsole
{
[STAThread]
static void Main(string[] args)
{
string ip = "192.192.132.229";
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;
}
}
}

 
  总结,这里就是为了说明一个问题,不但是Ping命令,只要是命令行程序或者是Dos内部命令,我们都可以用上面的方式来执行它,并获取相应的结果,并且这些程序的执行过程不会显示出来,如果需要调用外部程序就可以嵌入到其中使用了。
 
 

上一页  [1] [2] 

【责编:Zenghui】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航