管道技術一般採用window api來實現,最近我試著用c#來實現windows管道技術,發現c#本身方便的程序執行緒機制使工作變得簡單至極,隨手記錄一下,推薦給大家。
首先,我們可以通過設定process類,獲取輸出介面,**如下:
process proc = new process();
proc .startinfo.filename = strscript;
proc .startinfo.workingdirectory = strdirectory;
proc .startinfo.createnowindow = true;
proc .startinfo.useshellexecute = false;
proc .startinfo.redirectstandardoutput = true;
proc .start();
然後設定執行緒連續讀取輸出的字串:
eventoutput = new autoresetevent(false);
autoresetevent events = new autoresetevent[1];
events[0] = m_eventoutput;
m_threadoutput = new thread( new threadstart( displayoutput ) );
m_threadoutput.start();
waithandle.waitall( events );
執行緒函式如下:
為了不阻塞主線程,可以將整個過程放到乙個另乙個執行緒裡就可以了
在Visual C 中運用API函式獲取系統資訊
api函式是構築windows應用程式的基石,是windows程式設計的必備利器。每一種windows應用程式開發工具都提供了間接或直接呼叫了windows api函式的方法,或者是呼叫windows api函式的介面,也就是說具備呼叫動態連線庫的能力。visual c 中如何呼叫各種返回值的api...
在Visual C 中運用API函式獲取系統資訊
api函式是構築windows應用程式基石,是windows程式設計必備利器。每一種windows應用程式開發工具都提供了間接或直接呼叫了windows api函式方法,或者是呼叫windows api函式介面,也就是說具備呼叫動態連線庫能力。visual c 和其它開發工具一樣也能夠呼叫動態鏈結庫...
在Visual C 中運用API函式獲取系統資訊
api函式是構築windows應用程式的基石,是windows程式設計的必備利器。每一種windows應用程式開發工具都提供了間接或直接呼叫了windows api函式的方法,或者是呼叫windows api函式的介面,也就是說具備呼叫動態連線庫的能力。visual c 中如何呼叫各種返回值的api...