我想啓動一個外部應用程序並捕獲它的輸出。 這很簡單,使用Diagnostics.Process
及其OutputStream
。如何在C#/ .NET中捕獲二進制輸出輸出
然而,這個過程中我已經產生二進制數據,這是我需要捕捉的Stream
,而不是文本StreamWriter
它有沒有辦法讓底層的原始二進制流?
目前,我通過啓動一個批處理文件,它看起來像本事:
myapplication | socat stdin tcp-connect:localhost:12345
而且在我的代碼創建並監聽TCP套接字。雖然這個黑客工作,它有點難看,我更喜歡直接使用外部過程。
(有一件事我不能做的是使用本地文件,因爲數據是在其本質上實時)
但是,您需要修改子進程以使其使用管道,否則請調用'CreateProcess'將子管道作爲子標準輸出句柄傳遞。 – 2011-03-27 01:32:25