本文以乙個簡單的小例子講解如何將命令列資訊實時的輸出到文字框中。僅供學習分享使用,如有不足之處,還請指正。
概述在c#程式開發過程中,有時需要執行其它的程式並獲得輸出的結果來進行進一步的處理。一般第三方的程式,主要通hgrueop過程序來呼叫,如果能夠獲取第三方程式執行過程中的資訊,就顯得方便而有用。
涉及知識點:
效果圖如下【如果命令執行完畢,會自動結束,如果中斷程序,可以手動點選結束程序】:
核心**
主要**如下:
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.diagnostics;
using system.drawing;
using system.linq;
usihgrueopng system.runtime.interopservices;
using system.text;
using system.threading;
using system.threading.tasks;
using system.windows.forms;
namespace demobat
private void mainform_load(object sender, eventargs e)
private void initinfo()
///
/// 開始命令列
///
///
///
private void btnstart_click(object sender, eventargs e)
if (curbatsataus != batstatus.on)
else
} ///
/// 結束命令列
///
///
///
private void btnstop_click(object sender, eventargs e)
}///
/// 程序接受事件
///
///
///
public void processoutdatareceived(object sender, datareceivedeventargs e)
));}
else
} private void timer1_tick(object sender, eventargs e)
}} ///
/// 命令狀態
///
public enum batstatus
}備註:
關於如何在命令列執行過程中【如:ping 192.168.1.100 -t】,鍵入快捷鍵【如:ctrl+c】等操作,目前還沒有實現。目前採用的就強制關閉程序方法
原始碼**
C 執行DOS命令,返回DOS命令的輸出
專案中要定時自動給使用者發郵件,於是考慮用乙個系統服務來完成這項工作。開發過程中發現,系統服務不方便除錯,搜尋了下,有一篇帖子 c 服務除錯 正式使用兩便的模板 提供了乙個解決方案,發現其中的執行dos命令的類在其他程式中也很有用,特抽取出來發布在此。using system.diagnostics...
獲取DOS命令輸出結果
public class consoleoutput private sub new end sub private shared gworkingdirectory as string environment.getfolderpath environment.specialfolder.pers...
HOW TO 獲取DOS命令輸出結果
author 水如煙public class consoleoutput class consoleoutput private sub new subnew end sub private shared gworkingdirectory asstring environment.getfolde...