如何在C#中重定向**现有**进程的STD-Out

NTD*_*DLS 5 .net c# process stdio winforms

我可以轻松启动一个进程,重定向STD I/O但是如何重定向现有进程的STD I/O.

Process process = Process.GetProcessById(_RunningApplication.AttachProcessId);

process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;

string text = process.StandardOutput.ReadToEnd(); //This line blows up.
Run Code Online (Sandbox Code Playgroud)

例外:

StandardOut尚未重定向或进程尚未开始.


旁注:如果您知道如何在C/C++中执行此操作,我很乐意重新标记并接受.我只需要知道它是否可能.

Nat*_*ugg 2

在 C# 中似乎不可能。看看 C++ 中的可能性。

编辑:您可以在 C# 中使用命名管道,如果您想要实现这一目标,这可能是获得 IPC 的更好方法。