Wil*_*ain 5 .net console buffer screen-scraping
我正在 dot net 中编写一个程序,它将使用框架 2.0 的 Process 对象执行脚本和命令行程序。我希望能够访问程序中进程的屏幕缓冲区。我已经对此进行了调查,看来我需要访问控制台标准输出和标准错误缓冲区。有人知道这是如何使用托管代码来完成的吗?
我想我需要使用附加到任务的 Windows 控制台的 AttachConsole 和 ReadConsoleOutput 以便从控制台屏幕读取字符和属性数据块。我需要做的是托管代码。
请参阅http://msdn.microsoft.com/en-us/library/ms684965(VS.85).aspx
您可以使用 System.Diagnostics.Process 类的 StandardError、StandardOutput 和 StandardInput 属性来完成此操作。
MSDN 有一个很好的例子,将标准重定向进出进程。
请注意,您只能重定向您启动的进程的输出。您未启动的外部进程无法在事后重定向其标准输出。
另请注意,要使用 StandardInput,必须将 ProcessStartInfo.UseShellExecute 设置为 false,并且必须将 ProcessStartInfo.RedirectStandardInput 设置为 true。否则,写入 StandardInput 流会引发异常。
归档时间: |
|
查看次数: |
1790 次 |
最近记录: |