iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#怎么执行ping命令
  • 905
分享到

C#怎么执行ping命令

2023-06-17 23:06:57 905人浏览 独家记忆
摘要

本篇内容主要讲解“C#怎么执行ping命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么执行ping命令”吧!C#执行ping命令首先,我们用使用Process类,来创建独立的进程,导入

本篇内容主要讲解“C#怎么执行ping命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么执行ping命令”吧!

C#执行ping命令

首先,我们用使用Process类,来创建独立的进程,导入System.Diagnostics,using System.Diagnostics;

实例一个Process类,启动一个独立进程Process p = new Process();

Process类有一个StartInfo属性,这个是ProcessStartInfo类,包括了一些属性和方法。

下面我们用到了他的几个属性:
◆设定程序名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;

上面几个属性的设置是比较关键的一步。

既然都设置好了那就启动进程吧,p.Start();

C#执行ping命令,输入要执行ping命令,这里就是ping了,
p.StandardInput.WriteLine("ping -n 1 www.iWEBtrados.com.cn");
p.StandardInput.WriteLine("exit");

从输出流获取命令执行结果,string strRst = p.StandardOutput.ReadToEnd();

利用C#执行ping命令

这里我写的是一个窗体程序。首先添加textbox,listbox,button控件,其中textbox录入域名或IP,listbox显示结果.

在button1_click事件键入

privatevoidbutton1_Click(objectsender,EventArgse)  {  Pingp1=newPing();//只是演示,没有做错误处理  PingReplyreply=p1.Send(this.textBox1.Text);//阻塞方式  displayReply(reply);//显示结果  }  privatevoiddisplayReply(PingReplyreply)//显示结果  {  StringBuildersbuilder;  if(reply.Status==IPStatus.Success)  {  sbuilder=newStringBuilder();  sbuilder.Append(string.FORMat("Address:{0}",reply.Address.ToString()));  sbuilder.Append(string.Format("RoundTriptime:{0}",reply.RoundtripTime));  sbuilder.Append(string.Format("Timetolive:{0}",reply.Options.Ttl));  sbuilder.Append(string.Format("Don'tfragment:{0}",reply.Options.DontFragment));  sbuilder.Append(string.Format("Buffersize:{0}",reply.Buffer.Length));  listBox1.Items.Add(sbuilder.ToString());  }  }

也可以做异步的处理,修改button1_click,并添加PinGCompletedCallBack方法

privatevoidbutton1_Click(objectsender,EventArgse)  {  Pingp1=newPing();  p1.PingCompleted+=newPingCompletedEventHandler(this.PingCompletedCallBack);  //设置PingCompleted事件处理程序  p1.SendAsync(this.textBox1.Text,null);  }  privatevoidPingCompletedCallBack(objectsender,PingCompletedEventArgse)  {  if(e.Cancelled)  {  listBox1.Items.Add("PingCanncel");  return;  }  if(e.Error!=null)  {  listBox1.Items.Add(e.Error.Message);  return;  }  StringBuildersbuilder;  PingReplyreply=e.Reply;  if(reply.Status==IPStatus.Success)  {  sbuilder=newStringBuilder();  sbuilder.Append(string.Format("Address:{0}",reply.Address.ToString()));  sbuilder.Append(string.Format("RoundTriptime:{0}",reply.RoundtripTime));  sbuilder.Append(string.Format("Timetolive:{0}",reply.Options.Ttl));  sbuilder.Append(string.Format("Don'tfragment:{0}",reply.Options.DontFragment));  sbuilder.Append(string.Format("Buffersize:{0}",reply.Buffer.Length));  listBox1.Items.Add(sbuilder.ToString());  }  }

到此,相信大家对“C#怎么执行ping命令”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: C#怎么执行ping命令

本文链接: https://www.lsjlt.com/news/294640.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作