在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
出处:http://blog.csdn.net/zhzuo/archive/2004/03/21/22024.aspx 其实这个功通我们可以通过以下代码实现。 1: System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping(); 2: System.Net.NetworkInformation.PingReply pr =
3: p.Send(new System.Net.IPAddress(new byte[] { 192, 168, 123, 225 }), 1000); 4: Console.WriteLine(pr.Status);
下面介绍的,我们还可以用与其它的Dos命令操作。 以前在玩Windows 98的时候,几台电脑连起来,需要测试网络连接是否正常,经常用的一个命令就是Ping.exe。感觉相当实用。
1: using System; 2: using System.Diagnostics; 3: namespace ZZ 4: {
5: class ZZConsole 6: {
7: [STAThread]
8: static void Main(string[] args) 9: {
10:
11: string ip = "192.192.132.229"; 12: string strRst = CmdPing(ip); 13: Console.WriteLine(strRst);
14: Console.ReadLine();
15: }
16:
17: private static string CmdPing(string strIp) 18: {
19: Process p = new Process(); 20: p.StartInfo.FileName = "cmd.exe"; 21: p.StartInfo.UseShellExecute = false; 22: p.StartInfo.RedirectStandardInput = true; 23: p.StartInfo.RedirectStandardOutput = true; 24: p.StartInfo.RedirectStandardError = true; 25: p.StartInfo.CreateNoWindow = true; 26: string pingrst; 27: p.Start();
28: p.StandardInput.WriteLine("ping -n 1 "+strIp); 29: p.StandardInput.WriteLine("exit"); 30: string strRst = p.StandardOutput.ReadToEnd(); 31: if(strRst.IndexOf("(0% loss)")!=-1) 32: pingrst = "连接"; 33: else if( strRst.IndexOf("Destination host unreachable.")!=-1) 34: pingrst = "无法到达目的主机"; 35: else if(strRst.IndexOf("Request timed out.")!=-1) 36: pingrst = "超时"; 37: else if(strRst.IndexOf("Unknown host")!=-1) 38: pingrst = "无法解析主机"; 39: else 40: pingrst = strRst;
41: p.Close();
42: return pingrst; 43: }
44: }
45: }
总结,这里就是为了说明一个问题,不但是Ping命令,只要是命令行程序或者是Dos内部命令,我们都可以用上面的方式来执行它,并获取相应的结果,并且这些程序的执行过程不会显示出来,如果需要调用外部程序就可以嵌入到其中使用了。 |
请发表评论