Lua可以发送扩展功能键吗?ex F13-F24

Lua可以发送扩展功能键吗?ex F13-F24,lua,Lua,我尝试用kb.stroke(“F13”)发送F13 嗯,它不起作用,适用于F12及以下的任何产品 我正试图在统一远程应用程序中的自定义远程应用程序中使用它,因此我唯一知道的解决方法是使用os.start运行一个执行密钥发送的ahk脚本,但这是一种非常缓慢的方法 任何帮助都将不胜感激 local ffi = require"ffi" ffi.cdef[[ typedef struct { uintptr_t type; uint16_t wVk; uint

我尝试用kb.stroke(“F13”)发送F13

嗯,它不起作用,适用于F12及以下的任何产品

我正试图在统一远程应用程序中的自定义远程应用程序中使用它,因此我唯一知道的解决方法是使用os.start运行一个执行密钥发送的ahk脚本,但这是一种非常缓慢的方法

任何帮助都将不胜感激

local ffi = require"ffi"

ffi.cdef[[
typedef struct {
   uintptr_t type;
   uint16_t  wVk;
   uint16_t  wScan;
   uint32_t  dwFlags;
   uint32_t  time;
   uintptr_t dwExtraInfo;
   uint32_t  x[2];
} INP;
int SendInput(int, void*, int);
]]

local inp_t = ffi.typeof"INP[2]"

local function PressAndReleaseKey(vkey)
   local inp = inp_t()
   for j = 0, 1 do
      inp[j].type = 1
      inp[j].wVk = vkey
      inp[j].dwFlags = j * 2
   end
   ffi.C.SendInput(2, inp, ffi.sizeof"INP")
end

PressAndReleaseKey(0x57)  -- W
PressAndReleaseKey(0x7C)  -- F13
VKeys:

您有可用的FFI模块,因此可以使用WinAPI发送任何内容。