我在c#应用程序中创建了一个进程,可以读取该进程的输出和错误。在执行每个命令之前,我已使用 Flush()清除 StandardInput 缓冲区。但它没有用。
如何清除流程的StandardInput?
注意:进程仍在运行,我只是执行命令。比如在cmd.exe中执行命令。
我的代码在这里 的 process.StandardInput.Flush(); process.StandardInput.Write(command);
任何帮助都应该得到赞赏。
答案 0 :(得分:1)
当您写入标准输入时,为时已晚。 Flush
仅用于发送数据(我不确定它是否在标准I / O的情况下做任何事情 - 我不希望这样做),它没有&#39} ; t 清除任何东西。如果您不想在标准输入上使用某些内容,请不要首先发送它。