我正在用dot net编写一个程序,它将使用框架2.0的Process对象执行脚本和命令行程序。 我希望能够在我的程序中访问进程的屏幕缓冲区。 我已经调查了这一点,似乎我需要访问控制台stdout和stderr缓冲区。 任何人都知道如何使用托管代码完成此操作?

我想我需要使用附加到任务的Windows控制台的AttachConsole和ReadConsoleOutput,以便从控制台屏幕读取一组字符和属性数据。 我需要做的是托管代码。

请参阅http://msdn.microsoft.com/en-us/library/ms684965(VS.85).aspx

===============>>#1 票数:2

您可以使用System.Diagnostics.Process类上的StandardError,StandardOutput和StandardInput属性来完成此操作。

MSDN有一个很好的例子,可以将标准重定向到进程中。

请注意,您只能重定向您启动的进程的输出。 您未启动的外部进程无法在事后重定向其stdout。

另请注意,要使用StandardInput,必须将ProcessStartInfo.UseShellExecute设置为false,并且必须将ProcessStartInfo.RedirectStandardInput设置为true。 否则,写入StandardInput流会引发异常。

  ask by William Main translate from so

未解决问题?本站智能推荐:

3回复

屏幕抓取应用程序窗口并与鼠标和键盘交互

有一天,我发现自己沉迷于Flash游戏并同时对此事感到沮丧。 在对比赛感到沮丧的那一刻,我以为我会制作一个“机器人”来为我击败它。 好吧,我真的不会,但它让我意识到:我不知道如何以某种方式与另一个应用程序进行交互。 这让我想到了一个问题, 如何获取另一个正在运行的应用程序的屏幕截图并使用键
4回复

屏幕在没有*第三方实用程序的情况下在C#*中抓取大型机屏幕

我想在C#中屏蔽一个3270大型机应用程序,但是我必须在没有Attachmate或其他第三方插件的情况下这样做。 是否有免费的托管库在C#中这样做?
9回复

屏幕刮刀如何工作? [关闭]

我听说人们一直在写这些程序,我知道他们做了什么,但他们是如何做到的呢? 我正在寻找一般概念。
2回复

已运行的读取命令(CMD)窗口

我将尝试简化所遇到的问题。 首先,我想使用C#进行此操作,但是使用任何解决方案都可以。 在计算机的CMD窗口中运行着一个控制台应用程序,它每隔一段时间就会吐出一行新的文本。 该应用程序非常不稳定,有时会冻结,但是窗口仍然响应,因此Windows不知道。 我希望能够读取此屏幕的内容
3回复

需要的建议:使用.NET屏幕抓取网页

我需要有关我将要开始的项目的建议。 简而言之,我的应用程序必须转到某个足球网站,下载HTML并提取必要的数据。 到目前为止,这是我所做的: :: 1)访问某个足球网站(例如http://www.livescore.com/default.dll?page=england ),然
1回复

使用屏幕缓冲区创建程序以“编辑”控制台中显示的文本

标准的Linux应用程序(例如Nano)在控制台中显示一整页的文本,然后响应用户事件对文本进行“编辑”(更改)。 使用print标准python应用程序只能简单地打印到控制台。 我是否可以创建类似于Nano的应用程序,使其可以在Python屏幕上“编辑”文本。 Google告诉
2回复

.Net屏幕抓取和会话

我正在尝试使用C#屏幕抓取。它工作了好几次,之后我收到会话过期错误。任何帮助将不胜感激。
1回复

我可以使用UNIX系统调用读取控制台缓冲区吗?

我想创建一个智能调试实用程序,该实用程序读取已经打印到tty的stderr(例如,返回1000行)。 是否有允许我执行的UNIX API调用类型? 我找不到一个。
1回复

抓取IE窗口

我正在开发与两个系统连接以加载/存储数据的系统。 一个古老的终端程序,它使用第三方DLL来桥接.NET和此系统,发送击键并接收回击。 这部分没有问题,因为技术很明确。 从网站在其自己的Window中启动的128位SSLed Web应用程序。 它不是在任何Java讨厌的东西中
5回复

在c#中屏幕抓取一个windows应用程序

我需要从Windows应用程序中抓取数据以在另一个程序中运行查询。 有谁知道我在.NET中做这个的好起点?