我有一个模块可以读取进程的 StandardError。一切正常,但我想做一些不同的事情。我不知道如何像 native 方式那样重定向标准输入:
app1.exe -someargs | app2.exe -someargs
其中 app2 在其标准输入中读取 app1 的所有标准输出。
最佳答案
一旦你有了 Process
表示您要与之通信的进程的对象(因为您使用静态方法从操作系统获得它 Process.GetProcesses
,或者因为您自己创建了它),您可以附加一个 StreamWriter
到 Process.StandardInput
属性并使用它写入进程的标准输入。不要忘记设置 ProcessStartInfo.RedirectStandardInput
在您新创建的进程上设置为 true
。
在相关说明中,您可以使用 StreamReader
在 Process.StandardOutput
上读取输出(如从 StandardError
读取)。
关于c# - 如何写入另一个应用程序的标准输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2613161/