我有一个培训和测试应用程序,它告诉用户某些任务,然后以编程方式确定它们是否已被执行。例如,其中一项任务是在命令行提示符“dir /s”中输入一些内容。
我知道我可以重定向我自己的应用程序创建的“cmd.exe”实例的输入/输出,但是我怎样才能为用户启动的实例做同样的事情呢?
此外,我希望用户能够在命令提示符中看到他们的操作结果,而不是我的应用程序默默地吞下它们。
我有一个培训和测试应用程序,它告诉用户某些任务,然后以编程方式确定它们是否已被执行。例如,其中一项任务是在命令行提示符“dir /s”中输入一些内容。
我知道我可以重定向我自己的应用程序创建的“cmd.exe”实例的输入/输出,但是我怎样才能为用户启动的实例做同样的事情呢?
此外,我希望用户能够在命令提示符中看到他们的操作结果,而不是我的应用程序默默地吞下它们。
You can use the Process
class to find the process.
Process.GetProcessesByName("cmd")
Which will return an array of cmd processes.
See: Process.GetProcessesByName
See Determine if current application is activated (has focus) to determine which process has focus.
After that you can redirect the output of the process to your application.