以前在玩Windows 98的時候,幾台電腦連起來,需要測試網絡連接是否正常,經常用的一個命令就是Ping.exe.感覺相當實用.
現在 .net為我們提供了強大的功能來調用外部工具,並通過重定向輸入、輸出獲取執行結果,下面就用一個例子來說明調用Ping.exe命令實現網絡的檢測,希望對.Net初學者有所幫助.
首先,我們用使用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( );
輸入要執行的命令,這裡就是ping了,
p.StandardInput.WriteLine( "ping -n 1 192.192.132.229" );
p.StandardInput.WriteLine( "exit" );