我正在运行一个C ++程序;但是,不幸的是,它需要在Windows中调用外部程序才能获得一些结果。问题是外部程序有一个部分要求用户“按下进入退出”。这使得我无法自主运行程序,因为它锁定整个程序直到输入按下。每回合,我都需要按Enter键退出该程序。有没有办法让这成为可能?
注意:外部程序是一个exe,所以我无法触摸它。
答案 0 :(得分:1)
您需要将“输入”发送到外部程序。 @Joachim评论说_popen
可以捕获输出,但它也允许您向外部程序发送输入 - 例如\n
。 (可能需要\r\n
,实验)。
答案 1 :(得分:0)
不是最好的方式......但......
您可以尝试使用CreateProcess()
运行exe文件
然后使用FindWindow()
API获取exe窗口并使用SendMessage()
向其发送回车键...
另一个 NOT 建议的选项是在等待一段时间之后用TerminateProcess()
结构的句柄调用CreateProcess() PROCESS_INFORMATION
...
希望它有所帮助...