我想运行一个AHK可执行文件然后让java等待该可执行文件在它的脚本结束时终止它自己的进程然后继续,是否有一个函数来监视特定的exe是否正在运行?如果它一直在运行,等到它停止了?
例如在AHK你可以这样做:
IfExist, Appname,
{
insert code
}
我会使用AHK做这个项目,但因为AHK变量如此脆弱而且递增我无法正常工作它的IF和Else语句正确
或者如果可能的话,我如何让Java暂停一段时间
所有我真正想要的是运行.exe的简单代码和等待它不存在的代码
答案 0 :(得分:4)
您希望阅读java.lang.ProcessBuilder
以启动exe文件,然后阅读java.lang.Process.waitFor()
以等待该过程完成。如果你想通过它的stdin将数据提供给进程,或者读取它的stdout或stderr,那么你有一个更复杂的任务,涉及处理流的线程,以便进程不会阻塞。
答案 1 :(得分:3)
它就像一行代码一样简单:
Runtime.getRuntime().exec(<insert executable file here>).waitfor();
PS:这只是一行,所以我不介意,但这不是一个从其他人那里获得完整工作代码的地方。通常的反应是“看看这里,自己动手”,除非OP发布了相关代码,其中一小部分缺失,这不是这里的情况。
PS2:请考虑接受Jim的答案,因为它是正确答案。