从win32控制台程序捕获输出

时间:2010-08-18 20:45:48

标签: winapi console

拜托,是否可以从控制台程序中捕获输出?我想为控制台应用程序编写GUI,但我需要获取其输出。

2 个答案:

答案 0 :(得分:4)

如果程序的输出使用标准输出或标准错误,则可以使用shell重定向将程序输出重定向到文件(GUI可以读取)。例如:

console_app.exe >stdout.log 2>stderr.log

如果您想实时读取程序的输出(在运行时),您需要提供有关GUI程序的更多详细信息。你用的是哪种语言?什么操作系统?

答案 1 :(得分:2)

如果要在命令行进程运行时捕获输出,则需要使用Windows API函数CreateProcess()。您基本上会为输出创建一个“管道”并将其句柄分配给stdout。然后,在命令行程序运行时,您将从中读取,就好像它是一个文件一样。

如何完成此操作将取决于您使用的语言。你离开了你的问题。