gpt4 book ai didi

java - JNA - 读取多个按键

转载 作者:太空宇宙 更新时间:2023-11-04 11:20:59 25 4
gpt4 key购买 nike

当我的程序安装其他组件时,我使用 JNA 来阻止键盘。我想创建一个转义键组合,例如 CTRL + SHIFT + KEY。

如何检查这三个键是否被按下?当我检查 info.vkCode 是否有一个 key 时,它工作正常......

new Thread(new Runnable() {
@Override
public void run() {
lib = User32.INSTANCE;
HMODULE hMod = Kernel32.INSTANCE.GetModuleHandle(null);
keyboardHook = new LowLevelKeyboardProc() {
@Override
public LRESULT callback(int nCode, WPARAM wParam, KBDLLHOOKSTRUCT info) {
if (nCode >= 0) {
//CTRL + SHIFT + F12, for example --- ERROR
if (info.vkCode == 160 && info.vkCode == 162 && info.vkCode == 123) {
lib.UnhookWindowsHookEx(hhk);
}
else {
return new LRESULT(1);
}
}
return lib.CallNextHookEx(hhk, nCode, wParam, null);
}
};
hhk = lib.SetWindowsHookEx(13, keyboardHook, hMod, 0);

int result;
MSG msg = new MSG();
while ((result = lib.GetMessage(msg, null, 0, 0)) != 0) {
if (result == -1) {
break;
}
else {
lib.TranslateMessage(msg);
lib.DispatchMessage(msg);
}
}
lib.UnhookWindowsHookEx(hhk);
}
}).start();

最佳答案

lib.GetAsyncKeyState(VK_LCONTROL)

关于java - JNA - 读取多个按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44913572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com