C # запускает скрипт lua, который вызывает cmd.Как скрыть окно cmd? - PullRequest
0 голосов
/ 25 мая 2018

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();
}

Когда я запускаю lua в SciTE, окно cmd не отображается.Но окно cmd появится (и быстро закроется), когда lua вызывается из C #.Есть ли способ скрыть окно cmd или избежать его появления?

Кстати, я не хочу использовать способ VBScript для повторного открытия файла bat.

Оба io.popenos.execute создаст окно cmd, я хочу решить оба случая.

Редактировать: Ну, я знаю, что lua использует системную функцию C, поэтому обычно появляется окно cmd.Но почему окно не отображается при запуске Lua в SciTE?(Хорошо, я понял, что SciTE уже открыл окно cmd)

1 Ответ

0 голосов
/ 25 мая 2018

Решение Luacom WScript

Что ж, я решил использовать вышеупомянутое решение, лучше, чем писать vbs в скрипте bat, в моем случае C # будет многократно вызывать lua.В отличие от vbs, этот метод создает оболочку только один раз и может вызывать метод Run много раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...