2011-03-09 127 views
0

我目前正在編寫一個程序,它必須編譯一個簡單的C++程序,運行它,輸入內容並寫入輸出。 因此,讓我們說我們有一個簡單的C++源代碼。我的程序將接收文件,編譯它,運行生成的exe文件,一次輸入保存在數組中的值,然後將結果輸出寫入標籤或文本區域。C#控制一個控制檯進程

好吧,我已經成功地寫,將使用默認的編譯器來編譯程序的aplication,測試,如果有任何錯誤,警告,如果exe文件作出。

我啓動的程序作爲一個過程中,我還設法重定向標準輸出,輸入。

現在最大的問題是如何計算出來的時候,過程要求很高的用戶輸入。

有什麼辦法來控制過程,就像當程序要求苛刻的用戶輸入,動態地把每件事寫的過程中吐出來檢查,...?

我已經連接一個DataReceivedEventHandler我的過程,但它的作用有點滑稽。我認爲它不會觸發,直到我的過程輸出一整行。但我真誠地希望看到每個角色都是立即書寫的。尤其是,可能會發生控制檯程序輸出「按任意鍵繼續...」,這不是一個完整的行,直到我不按任何鍵(輸入內容)。

而關於檢查我的過程是否需要用戶輸入: 我不能在輸出中使用模式來確定是否需要輸出某些內容。我將不得不編譯和運行很多文件,輸出結果不完全一樣。

那麼,有沒有辦法完全控制過程的控制?

任何答案都會是thpretiated。

回答

0

,如果你知道所有的輸入開始與你爲什麼不提供所有這些,讓新編譯EXE使用它。

+0

Thx爲您的答案,我想我沒有選擇,但沒有確認輸入數據。寫一些輸入,然後等待幾個毫秒。 – itd 2011-03-09 10:47:47