Как в Lua эмулировать нажатие клавиши WIN+ALT+R

Статус
В этой теме нельзя размещать новые ответы.

romanespit

Участник
Автор темы
19
7
Версия MoonLoader
.026-beta
Хочу эмулировать нажатие сочетания кнопок WIN + ALT + R, для запуска записи на Windows, например по команде в чат.
Возможно ли это? Если возможно, то есть ли пример/дока? Через setVirtualKeyDown, как понял, такого не сделать или у меня не получилось.
Думал, может через командную строку это сделать, но не нашел команды для старта/стопа записи.
 
Решение
Lua:
local ffi = require("ffi")

ffi.cdef[[
    void keybd_event(unsigned char bVk, unsigned char bScan, unsigned long dwFlags, unsigned long dwExtraInfo);
]]

local VK_LWIN = 0x5B
local VK_LMENU = 0xA4
local VK_R = 0x52
local KEYEVENTF_KEYUP = 0x2

-- Press keys
ffi.C.keybd_event(VK_LWIN, 0, 0, 0)
wait(20)
ffi.C.keybd_event(VK_LMENU, 0, 0, 0)
wait(20)
ffi.C.keybd_event(VK_R, 0, 0, 0)
wait(100)

-- Release keys
ffi.C.keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)
ffi.C.keybd_event(VK_LMENU, 0, KEYEVENTF_KEYUP, 0)
ffi.C.keybd_event(VK_R, 0, KEYEVENTF_KEYUP, 0)

romanespit

Участник
Автор темы
19
7
Lua:
local ffi = require("ffi")

ffi.cdef[[
    void keybd_event(unsigned char bVk, unsigned char bScan, unsigned long dwFlags, unsigned long dwExtraInfo);
]]

local VK_LWIN = 0x5B
local VK_LMENU = 0xA4
local VK_R = 0x52
local KEYEVENTF_KEYUP = 0x2

-- Press keys
ffi.C.keybd_event(VK_LWIN, 0, 0, 0)
wait(20)
ffi.C.keybd_event(VK_LMENU, 0, 0, 0)
wait(20)
ffi.C.keybd_event(VK_R, 0, 0, 0)
wait(100)

-- Release keys
ffi.C.keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)
ffi.C.keybd_event(VK_LMENU, 0, KEYEVENTF_KEYUP, 0)
ffi.C.keybd_event(VK_R, 0, KEYEVENTF_KEYUP, 0)
 
Статус
В этой теме нельзя размещать новые ответы.