日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
概述C#執(zhí)行ping命令

C#執(zhí)行ping命令

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、下花園網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、下花園網(wǎng)絡(luò)營銷、下花園企業(yè)策劃、下花園品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供下花園建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

首先,我們用使用Process類,來創(chuàng)建獨(dú)立的進(jìn)程,導(dǎo)入System.Diagnostics,using System.Diagnostics;

實(shí)例一個(gè)Process類,啟動(dòng)一個(gè)獨(dú)立進(jìn)程Process p = new Process();

Process類有一個(gè)StartInfo屬性,這個(gè)是ProcessStartInfo類,包括了一些屬性和方法。

下面我們用到了他的幾個(gè)屬性:
◆設(shè)定程序名p.StartInfo.FileName = "cmd.exe";
◆關(guān)閉Shell的使用p.StartInfo.UseShellExecute = false;
◆重定向標(biāo)準(zhǔn)輸入p.StartInfo.RedirectStandardInput = true;
◆重定向標(biāo)準(zhǔn)輸出p.StartInfo.RedirectStandardOutput = true;
◆重定向錯(cuò)誤輸出p.StartInfo.RedirectStandardError = true;
◆設(shè)置不顯示窗口p.StartInfo.CreateNoWindow = true;

上面幾個(gè)屬性的設(shè)置是比較關(guān)鍵的一步。

既然都設(shè)置好了那就啟動(dòng)進(jìn)程吧,p.Start();

C#執(zhí)行ping命令,輸入要執(zhí)行ping命令,這里就是ping了,
p.StandardInput.WriteLine("ping -n 1 www.iwebtrados.com.cn");
p.StandardInput.WriteLine("exit");

從輸出流獲取命令執(zhí)行結(jié)果,string strRst = p.StandardOutput.ReadToEnd();

利用C#執(zhí)行ping命令

這里我寫的是一個(gè)窗體程序。首先添加textbox,listbox,button控件,其中textbox錄入域名或IP,listbox顯示結(jié)果.

在button1_click事件鍵入

 
 
 
  1. privatevoidbutton1_Click(objectsender,EventArgse)  
  2. {  
  3. Pingp1=newPing();//只是演示,沒有做錯(cuò)誤處理  
  4. PingReplyreply=p1.Send(this.textBox1.Text);//阻塞方式  
  5. displayReply(reply);//顯示結(jié)果  
  6. }  
  7. privatevoiddisplayReply(PingReplyreply)//顯示結(jié)果  
  8. {  
  9. StringBuildersbuilder;  
  10. if(reply.Status==IPStatus.Success)  
  11. {  
  12. sbuilder=newStringBuilder();  
  13. sbuilder.Append(string.Format("Address:{0}",reply.Address.ToString()));  
  14. sbuilder.Append(string.Format("RoundTriptime:{0}",reply.RoundtripTime));  
  15. sbuilder.Append(string.Format("Timetolive:{0}",reply.Options.Ttl));  
  16. sbuilder.Append(string.Format("Don'tfragment:{0}",reply.Options.DontFragment));  
  17. sbuilder.Append(string.Format("Buffersize:{0}",reply.Buffer.Length));  
  18. listBox1.Items.Add(sbuilder.ToString());  
  19. }  

也可以做異步的處理,修改button1_click,并添加PingCompletedCallBack方法

 
 
 
  1. privatevoidbutton1_Click(objectsender,EventArgse)  
  2. {  
  3. Pingp1=newPing();  
  4. p1.PingCompleted+=newPingCompletedEventHandler(this.PingCompletedCallBack);  
  5. //設(shè)置PingCompleted事件處理程序  
  6. p1.SendAsync(this.textBox1.Text,null);  
  7. }  
  8. privatevoidPingCompletedCallBack(objectsender,PingCompletedEventArgse)  
  9. {  
  10. if(e.Cancelled)  
  11. {  
  12. listBox1.Items.Add("PingCanncel");  
  13. return;  
  14. }  
  15. if(e.Error!=null)  
  16. {  
  17. listBox1.Items.Add(e.Error.Message);  
  18. return;  
  19. }  
  20. StringBuildersbuilder;  
  21. PingReplyreply=e.Reply;  
  22. if(reply.Status==IPStatus.Success)  
  23. {  
  24. sbuilder=newStringBuilder();  
  25. sbuilder.Append(string.Format("Address:{0}",reply.Address.ToString()));  
  26. sbuilder.Append(string.Format("RoundTriptime:{0}",reply.RoundtripTime));  
  27. sbuilder.Append(string.Format("Timetolive:{0}",reply.Options.Ttl));  
  28. sbuilder.Append(string.Format("Don'tfragment:{0}",reply.Options.DontFragment));  
  29. sbuilder.Append(string.Format("Buffersize:{0}",reply.Buffer.Length));  
  30. listBox1.Items.Add(sbuilder.ToString());  
  31. }  

【編輯推薦】

  1. 淺析C# ArrayList
  2. C#對(duì)象初始化學(xué)習(xí)總結(jié)
  3. 使用C#正則表達(dá)式匹配相關(guān)字符串
  4. C#改寫方法學(xué)習(xí)筆記
  5. 概述C#加框和消框

本文名稱:概述C#執(zhí)行ping命令
網(wǎng)站路徑:http://www.dlmjj.cn/article/djsodpp.html