C# - 从早期启动的应用程序读取控制台缓冲区?

时间:2013-11-06 15:58:51

标签: c# process console

是否可以从之前启动的控制台应用程序中读取控制台缓冲区? 我假设一次有一个正在运行的实例,我可以通过Process.GetProcessesByName()或类似的方式找到它。我可以查看已在其控制台上写的内容吗?

1 个答案:

答案 0 :(得分:2)

那时它与程序无关,而是如何调用它。如果从shell调用它,那么它取决于该shell是否为外部应用程序提供访问其当前数据的方法。有些可能,有些可能没有。该程序甚至可能根本不能从shell中调用,它可以从一些其他类型的程序中调用,该程序处理标准输入/输出的方式与shell的完全不同。

一般情况下,我不希望大多数shell为其他进程提供进入并获取内容的方法,因此虽然在某些情况下可能有可能,但它不太可能是个好主意。

相反,您应该让程序将输出写入某个位置,例如文件,内存映射文件,命名管道,数据库等,设计以便其他进程可以访问。