Цитата(cirus @ 16.2.2022, 12:13)
Код
--lua
local ffi = require("ffi")
local shell = ffi.load('Shell32.dll')
local SW_HIDE = 0
ffi.cdef[[int ShellExecuteA(int hwnd, const char* lpOperation, const char* lpFile, const char* lpParameters, const char* lpDirectory, int nShowCmd);]]
shell.ShellExecuteA(0, 'open', 'cmd.exe', 'start /c calc.exe', '', SW_HIDE)
Ратотает, благодарю (IMG:
style_emoticons/default/rolleyes.gif)
Я так понял вызов shell работает асинхронно. Что рождает новые вопросы.
1. возможно ли получить ответ в переменную выполнение командной строки через shell.ShellExecuteA минуя clipboard
2. ожидать завершения выполнения.
в моём случае запрос выглядит так:
shell.ShellExecuteA(0, 'open', 'cmd.exe', 'start /c netsh advfirewall firewall show rule name=RAID | clip', '', SW_HIDE)
s = clipboard ()
Решение нашел тут.
запуск командной строки в скрытом режиме с ожиданием ответа.
https://forum.uokit.com/index.php?s=&sh...st&p=439344