我有一个读取进程的 StandardError 的模块。一切正常,但我想做一些不同的事情。我不知道如何像本地方式一样重定向 stdin:
app1.exe -someargs | app2.exe -someargs
app2 在其标准输入中读取 app1 的所有标准输出。

最佳答案

查看以下 MSDN 引用文档(都可以在 System.Diagnostics 命名空间中找到):

  • Process.StandardInput
  • ProcessStartInfo.RedirectStandardInput 。有一个示例显示了如何启动子进程并直接写入其标准输入。

  • 对于您的特定示例,以下是您的设置方式:
  • app1 使用 Process 类将 app2 作为子进程启动(参见上面的链接)。
  • app1 通过写入与 app2 关联的 .StandardInput 对象的 Process 流来写入 app2 的标准输入。
  • app2 只是从其标准输入中读取行(例如通过 Console.ReadLine() )。
  • 10-08 04:32