我有一个应用程序,我想在哪里运行另一个基于控制台的exe并读取该控制台应用程序的输出?假设控制台应用程序是使用printf
编写它的第三方exe。
答案 0 :(得分:0)
使用CreateProcess()
运行控制台应用程序,然后您可以使用STARTUPINFO
结构来指定您自己的STDIN / OUT / ERR句柄供控制台使用。为此目的,通过CreatePipe()
创建匿名管道,然后根据需要使用ReadFile()
和WriteFile()
读取/写入管道。
MSDN上有一个例子: