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 LV37
2022年2月28日
dongzhan LV12
2021年11月27日
最代码官方 LV168
2021年10月31日