原創 C 實現Window管道技術

2021-03-31 16:32:26 字數 790 閱讀 2228

之前發了一篇使用window api來實現管道技術的文章,後來改用c#來實現相同的效果,發現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 );

執行緒函式如下:

為了不阻塞主線程,可以將整個過程放到乙個另乙個執行緒裡就可以了

C 實現Window服務實現定時傳送郵件

網上有很多關於window服務的講解,本篇文章將以例項為主,解讀如何實現window服務。環境 vs 2008 1,新建window服務 注 刪除program.cs,因為在service1.cs中,我們會定義程式的入口,就不再需要該檔案 2,專案會自動生成service1.cs 檔案,該類繼承自s...

C 匿名管道的理解與實現

什麼是匿名管道?匿名管道用於程序之間通訊,且僅限於本地父子程序之間通訊,結構簡單,類似於一根水管,一端進水另一端出水 單工 相對於命名管道,其占用小實現簡單,在特定情況下,比如實現兩圍棋引擎本地對戰可以使用匿名管道。怎樣實現匿名管道雙向通訊?由於匿名管道是單工的,所以為實現父子程序雙向通訊需要建立兩...

用c 實現語音技術

speech.cs using system using mstts mstts命名空間 namespace bedlang public void speak string text speech.cs 4.編譯bedlang.speech csc target library out bedla...