全局监听钩子实现 笔记本x键坏了用其他键代替,或者类似游戏一键连招功能实现 (附带脚本开机一键运行)

前言

问题:博主使用笔记本时擦键盘不小心
进水了导致 坏了2个键盘 更换太麻烦所以想出了几个方法
1 系统自带的模拟键盘 可是每次都要点出来太麻烦
2 使用第三方工具 结果只找到github源码 下载地址找不到 /(ㄒoㄒ)/~~
3 使用java方法 KeyListener
使用KeyListener监听键盘事件有一些不足之处:
焦点问题:KeyListener需要注册的组件具有焦点并且具有键盘焦点
4 所以历经多个小时 决定采用JNativeHook 全局监听钩子

第一步 导入pom.xml文件

<dependency>
            <groupId>com.github.kwhat</groupId>
            <artifactId>jnativehook</artifactId>
            <version>2.2.2</version>
        </dependency>

第二步 编写代码

package org.example.com.nr;
​
import com.github.kwhat.jnativehook.GlobalScreen;
import com.github.kwhat.jnativehook.NativeHookException;
import com.github.kwhat.jnativehook.keyboard.NativeKeyEvent;
import com.github.kwhat.jnativehook.keyboard.NativeKeyListener;
​
​
import java.awt.*;
import java.awt.event.KeyEvent;
​
public class GlobalKeyListenerExample implements NativeKeyListener {
    Robot robot;
    //定义一个全局变量,用来判断是否按下了ctrl键
    boolean flag = false;
    //定义一个全局变量,用来记录按下了ctrl键的次数
    int count = 0;
​
    public GlobalKeyListenerExample

相关推荐

  1. 微信小程序如何实现扫码WiFi功能

    2024-04-02 19:48:03       23 阅读
  2. Nodejs发布脚本

    2024-04-02 19:48:03       39 阅读
  3. 安装docker脚本

    2024-04-02 19:48:03       13 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 19:48:03       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 19:48:03       5 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 19:48:03       4 阅读
  4. Python语言-面向对象

    2024-04-02 19:48:03       5 阅读

热门阅读

  1. 2024-03-27 问AI: 介绍一下深度学习中的 Darknet

    2024-04-02 19:48:03       22 阅读
  2. 33-2 XXE漏洞 - XXE外部实体注入原理

    2024-04-02 19:48:03       18 阅读
  3. 谈谈Python中的列表推导式和字典推导式

    2024-04-02 19:48:03       21 阅读
  4. Vue3创建空对象方法及推荐

    2024-04-02 19:48:03       20 阅读
  5. ChatGPT助力:提升学术论文写作的智能利器

    2024-04-02 19:48:03       26 阅读
  6. Maximum Product(UVA 11059)

    2024-04-02 19:48:03       20 阅读
  7. rust并行计算库Rayon

    2024-04-02 19:48:03       23 阅读