【发布时间】:2012-03-21 02:07:11
【问题描述】:
我找不到这个我想制作可以在同一文件夹中运行 exe 文件的代码 没有静态路径。 例如,如果文件名是 application.exe,那么我想运行该文件 如果不存在错误消息弹出找不到application.exe 请问有什么帮助吗? 这可以在vb中完成,但我不知道在lua中是否也可以完成?
【问题讨论】:
标签: lua
我找不到这个我想制作可以在同一文件夹中运行 exe 文件的代码 没有静态路径。 例如,如果文件名是 application.exe,那么我想运行该文件 如果不存在错误消息弹出找不到application.exe 请问有什么帮助吗? 这可以在vb中完成,但我不知道在lua中是否也可以完成?
【问题讨论】:
标签: lua
如前所述,os.execute() 函数允许您将系统命令运行到 lua 执行路径中。
如果你想得到输出,你可以使用 io.popen() 代替:
local f = io.popen("application.exe","r")
print(f:read("*a"))
【讨论】:
我不太确定它在 Windows 上是如何工作的,但在 Linux 上可以正常工作:
os.execute("./foo")
Lua Unofficial FAQ 上有更多关于 Windows 上 Lua 的信息。
更新:您可能还想阅读 LuaFAQ 上的 How to execute an external command。有一些关于在 Windows 上执行 GUI 程序的有趣信息,以及指向 Launching processes with winapi 的链接。
更新 2: 我找到了这个答案:https://stackoverflow.com/a/3589108/295262
这是关于相反的问题,完整路径。根据它,os.execute "application.exe" 将在同一目录中工作,尽管您可能想尝试 LuaFAQ 中的一种更奇特的方法。
【讨论】: