C ++外部二进制文件锁定主程序

时间:2016-02-18 10:16:22

标签: c++ windows

我正在运行一个C ++程序;但是,不幸的是,它需要在Windows中调用外部程序才能获得一些结果。问题是外部程序有一个部分要求用户“按下进入退出”。这使得我无法自主运行程序,因为它锁定整个程序直到输入按下。每回合,我都需要按Enter键退出该程序。有没有办法让这成为可能?

注意:外部程序是一个exe,所以我无法触摸它。

2 个答案:

答案 0 :(得分:1)

您需要将“输入”发送到外部程序。 @Joachim评论说_popen可以捕获输出,但它也允许您向外部程序发送输入 - 例如\n。 (可能需要\r\n,实验)。

答案 1 :(得分:0)



不是最好的方式......但......

您可以尝试使用CreateProcess()运行exe文件 然后使用FindWindow() API获取exe窗口并使用SendMessage()向其发送回车键...

另一个 NOT 建议的选项是在等待一段时间之后用TerminateProcess()结构的句柄调用CreateProcess() PROCESS_INFORMATION ...

希望它有所帮助...