首页>代码>javaFX锁屏浏览器>/JavaFXBrowser/src/com/wl/util/DisKeyboard.java
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日
最代码官方  LV167 2021年10月31日
最近浏览更多
飞梦ff  LV8 2月26日
skjanyou  LV2 2023年11月13日
内心向阳  LV4 2023年11月7日
2252536772  LV21 2022年11月10日
暂无贡献等级
rongsoft  LV8 2022年8月29日
初心不负丶方得始终  LV10 2022年8月12日
358218675 2022年8月1日
暂无贡献等级
wyx065747  LV67 2022年6月25日
戴墨镜的杰尼龟  LV2 2022年6月10日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友