是否有可能在.net中捕获/重定向我未启动的进程的标准输出?

时间:2011-06-06 23:04:38

标签: .net .net-4.0 process .net-2.0 pinvoke

如果我知道进程标识符,是否有一些机制在.ne​​t(或pinvoke作为最后的手段)来捕获/重定向我没有启动的进程的标准输出?

3 个答案:

答案 0 :(得分:1)

您可以AttachConsole您的进程到另一个进程的控制台,然后使用通常的控制台I / O函数从中读取和写入。

请记住先使用FreeConsole从进程的当前控制台中分离。

答案 1 :(得分:0)

据我所知,您无法在.NET中执行此操作,您可以重定向仅通过ProcessStartInfo Class启动的流程的输出。

据我所知,在进程启动后,您根本无法在外部重定向I / O,只有进程本身可以执行此操作。

您可以通过AttachConsole Function将调用流程附加到指定流程的控制台。

答案 2 :(得分:0)

编辑:看起来它确实无效,正如本主题中的另一个答案所指出的那样。

我没有亲自尝试过,但似乎,自答案被接受后,this就可以了。