我很高兴使用 Lua 在 Windows 系统中启动一个程序
strProgram = '"C:\\Program Files\\Ps Pad\\PSPad.exe"'
strCmd = 'start "" '..strProgram
os.execute(strCmd)
这可以正常工作,启动程序并完成脚本。 不管它如何在不到一秒的时间里闪现一个命令窗口,有没有人有办法从 Lua 启动一个程序。
最佳答案
Lua的os.execute命令基于C标准库“shell”函数。在 Windows 中,此函数将始终创建一个命令窗口,并且始终会停止当前进程,直到窗口完成。后者也发生在 Linux 中。
最终没有办法解决这个问题。不通过 Lua 标准 API。由于Lua需要轻量级和平台无关性,因此API不允许使用依赖于操作系统的原生API。
您最好的选择是使用 Lua Ex-Api模块。它实际上是废弃软件,您可能需要修补一些编译器问题(我猜 Windows 端口不是他们的首要任务)。但这是产生进程的相当好的方法。您可以选择等待它自己完成,或者让它们并行运行。并且它不会弹出命令提示符窗口,除非应用程序本身使用一个命令提示符窗口。
关于windows - 在 Windows 中使用 lua os.execute 启动程序,无需 CMD 闪现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52790881/