假设我们有一个称为自身的进程池conhost。
var list = Process.GetProcessesByName("conhost").GroupBy(_x => _x.Id).ToDictionary(_x => _x.Key, _x => _x);
conhost为 Windows 控制台应用程序的每个副本实例化以提供输入和输出流(如果不是这种情况,请更正它)所以我需要“听”每个控制台写入和读取的内容 - 我将自己决定如何聚合它。但问题是我无法访问输入和输出流。
有一种假设,这是由本机或 Winapi (更倾向于 winapi)解决的。
制作我自己的子进程的决定不适合我。我需要听进程池。更具体地说,访问它们的输入和输出流。
回答我自己的问题。我建议所有对此感兴趣的人阅读这篇文章:Windows 7 / Windows Server 2008 R2:控制台主机
理论上,世界上没有什么是无法解决的——没有。但是这个问题的解决方案导致了一个 hack,这当然不能在 stackoverflow 上讨论。