package com.wl.util;
import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.User32;
import com.sun.jna.platform.win32.WinDef.HMODULE;
import com.sun.jna.platform.win32.WinDef.LRESULT;
import com.sun.jna.platform.win32.WinDef.WPARAM;
import com.sun.jna.platform.win32.WinUser;
public class DisKeyboard implements Runnable {
private WinUser.HHOOK hhk;
private WinUser.LowLevelKeyboardProc keyboard = new WinUser.LowLevelKeyboardProc() {
@Override
public LRESULT callback(int keyVal, WPARAM wParam, WinUser.KBDLLHOOKSTRUCT event) {
if (keyVal >= 0) {
switch (event.vkCode) {
case 27:// esc键
case 91: // windows键
case 162:// ctl键
case 164:// alt键
case 9:// tab键
case 115:// f4键
case 116:// f5键
case 123:// f12键
return new LRESULT(1);
}
}
return User32.INSTANCE.CallNextHookEx(hhk, keyVal, wParam, null);
}
};
public void run() {
System.out.println("热键已禁用!");
HMODULE hMod = Kernel32.INSTANCE.GetModuleHandle(null);
hhk = User32.INSTANCE.SetWindowsHookEx(User32.WH_KEYBOARD_LL, keyboard, hMod, 0);
int result;
WinUser.MSG msg = new WinUser.MSG();
while ((result = User32.INSTANCE.GetMessage(msg, null, 0, 0)) != 0) {
System.out.println(System.currentTimeMillis() + "!");
if (result == -1) {
} else {
User32.INSTANCE.TranslateMessage(msg);
User32.INSTANCE.DispatchMessage(msg);
}
}
}
}
最近下载更多
rongsoft LV8
2022年8月29日
1690356080 LV38
2022年2月28日
dongzhan LV12
2021年11月27日
最代码官方 LV168
2021年10月31日

最近浏览