2015-10-13 15 views
-2

我已經在c#應用程序中創建了一個進程,並可以讀取該進程的輸出和錯誤。在執行每個命令之前,我已使用Flush()清除了StandardInput緩衝區。但它不起作用。如何清除過程的StandardInput?

如何清除過程的StandardInput?

注意:進程仍在運行,我只是執行命令。就像執行cmd.exe中的命令一樣。

我的代碼在這裏 process.StandardInput.Flush(); process.StandardInput.Write(command);

任何幫助,不勝感激。

+0

我不認爲你可以。你可以全部閱讀,但即使如此,你怎麼知道該停止?你確定你的問題不能通過其他方式解決嗎? – spender

+0

我需要在執行命令前清除輸入緩衝區,一旦進程停止,我知道該過程結束, – Rengasamy

+0

@spender修改了問題 – Rengasamy

回答

1

在寫入標準輸入時,已經太晚了。 Flush只用於發送數據(並且我不確定它是否在標準I/O的情況下做任何事情 - 我不指望它),它不會清除任何東西。如果您不想在標準輸入上使用某些功能,請不要將它發送到第一位。