的Lua:
function test()
local t = io.popen("cd")
for line in t:lines() do
print(line)
end
t:close()
end
C#:
using LuaInterface;
public void Lua_Test()
{
Lua lua = new Lua();
lua.DoFile(@"lua\test.lua");
var Lua_Test = lua.GetFunction("test");
Lua_Test.Call();
}
当我在SciTE中运行lua时,cmd窗口将不会显示。但是当C#调用lua时,cmd窗口会出现(并快速关闭)。有没有办法隐藏cmd窗口或避免它出现?
顺便说一句,我不想使用VBScript方式重新打开bat文件。
io.popen和os.execute都会创建一个cmd窗口,我想解决这两种情况。
编辑: 好吧,我知道lua使用C系统功能,所以通常会出现cmd窗口。但是为什么当Lua在SciTE中运行时窗口不显示? (好吧,我想通了,那就是SciTE已经打开了一个cmd窗口)
答案 0 :(得分:0)
好吧,我决定使用上面的解决方案,比在我的情况下在bat脚本中编写vbs更好,这是我的C#将多次调用lua。与vbs不同,此方法只会创建一次shell,并且可以多次调用Run方法。