全局监听钩子实现 笔记本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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/798496.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【全套源码教程】基于SpringBoot+MyBatis+Vue的流浪动物救助网站的设计与实现

目录 前言 需求分析 可行性分析 技术实现 后端框架&#xff1a;Spring Boot 持久层框架&#xff1a;MyBatis 前端框架&#xff1a;Vue.js 数据库&#xff1a;MySQL 功能介绍 前台界面功能介绍 动物领养及捐赠 宠物论坛 公告信息 商品页面 寻宠服务 个人中心 购…

Qt+OpenGL入门教程(四)——VBO、VAO和EBO

前面我们已经简单绘制了一个三角形&#xff0c;但这只是个小demo是远远不够的&#xff0c;当顶点数据很多时&#xff0c;解析很麻烦时我们应该如何处理呢&#xff1f;接下来我们来介绍一下在OpenGL开发中帮助我们提升渲染性能的几种数据对象。 注意&#xff1a;所有代码都是基…

全面探究 LangChain Text Splitters

全面探究 LangChain Text Splitters 0. 引言1. 文本拆分器的类型2. 探究各个文本拆分器2-1. Split by HTML header2-2. Split by HTML section2-3. Split by character2-4. Split code2-5. MarkdownHeaderTextSplitter2-6. Recursively split JSON2-7. Recursively split by ch…

力扣---分隔链表

给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进行分隔&#xff0c;使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例 1&#xff1a; 输入&#xff1a;head [1,4,3,2,5,2], x 3 输出&a…

【Nginx】配置Nginx实现跨域策略

弹琵琶又见当年镜前你梳头 拨一首满花春秀 今日月下再醉孤酒 雨落枝头年复一年谁白发留 让爱随相思入梦左右 梦见我们还挽着手 &#x1f3b5; 马天宇《青衣》 在现代web开发中&#xff0c;跨源资源共享&#xff08;CORS&#xff0c;Cross-Origin Resource…

C语言调用Python

目录 1.直接调用python语句 头文件引用 2.调用无参有参函数 1、调用无参函数 1.建立nopara.py文件 2.使用c语言根据上面流程进行调用 2、调用有参函数 1.建立nopara.py文件 2.使用c语言根据上面流程进行调用 C语言调用python需要我们已经安装好了libpython3的 dev依赖…

DFS序列

什么是DFS序 DFS序是指对一棵树进行DFS时&#xff0c;每个节点被访问到的顺序。DFS序分成两个部分&#xff1a;进入该节点的顺序和退出该节点的顺序。 如何求DFS序 对于DFS中当前节点 1&#xff1a;计数 2&#xff1a;进入当前节点的顺序等于当前计数 3&#xff1a;想所有…

Shell脚本从0到会基础学习(个人学习)

一、前言 本人在找工作的时候&#xff0c;发现有的职位要会shell或者是python其中一种脚本语言。由于博主学过python。所以专门开栏学习&#xff0c;只做个人学习。一天学会那种~ 二、练习 2.1 我的第一个脚本--HelloWorld 代码 运行结果 2.2 输出系统常量和 自定义变量 #!…

5. 4 二重循环将二维数组的某列、某矩形转大写

5. 4 二重循环将二维数组的某列、某矩形转大写 1. 把每一行的b都变成大写 assume cs:codesg,ds:data,ss:stack data segmeNTstr db aaaaabbbbbcccccdb aaaaabbbbbcccccdb aaaaabbbbbcccccdb aaaaabbbbbccccc,$ data endsstack segmentdb 10 dup(0) stack endscodesg SEgments…

一种遥感影像多类变化检测方法

多任务学习孪生网络的遥感影像多类变化检测 马惠1, 刘波2, 杜世宏2 1.河南省国土空间调查规划院,郑州 450016 2.北京大学遥感与地理信息系统研究所,北京 100871 摘要: 精确掌握土地覆盖/利用的变化及变化类型对国土空间规划、生态环境监测、灾害评估等有着重要意义,然而现有…

渲染一帧特效需要多少钱?云渲染特效每帧成本

特效渲染的成本受到诸多因素的影响&#xff0c;每帧的渲染费用是评估整个项目预算的重要依据。随着云渲染技术的发展&#xff0c;其高效率和可伸缩性赢得了业界的广泛关注。对于影视制作公司和独立创作者而言&#xff0c;掌握云渲染特效的单帧成本是管理和优化预算分配的关键。…

PCL 点到三角形的距离(3D)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 给定三角形ABC和点P,设Q为描述ABC上离P最近的点。求Q的一个方法:如果P在ABC内,那么P的正交投影点就是离P最近的点Q。如果P投影在ABC之外,最近的点则必须位于它的一条边上。在这种情况下,Q可以通过计算线段AB、…

设计模式学习笔记 - 设计模式与范式 -行为型:5.策略模式(下):策略模式的应用,如何实现支持给不同大小文件排序的小程序

概述 上篇文章&#xff0c;主要介绍了策略模式的原理和实现&#xff0c;以及如何利用策略模式来移除 if-esle 或者 switch 分支判断逻辑。本章结合 “给文件排序” 的例子&#xff0c;来详细讲下策略模式的设计意图和应用场景。 此外&#xff0c;我还会通过进一步分析、重构&…

算法:计数类dp

文章目录 一、举个栗子例子1&#xff1a;爬楼梯问题例子2&#xff1a;不同路径例子3&#xff1a;计数子序列 二、基本思路三、典型例题一、ACWing&#xff1a;900. 整数划分1、解法一1.1、状态转移方程1.2、参考代码 O(n) 超时 2、解法二&#xff1a;类似完全背包问题1.1、状态…

黑豹程序员-Spring Task实现定时任务

定时任务 项目中&#xff0c;我们有一个特殊的要求&#xff0c;无需人为去触发&#xff0c;而是自动去触发程序。通常有一定的频率&#xff0c;每天&#xff0c;某时等。 实现的四种方式 1、java自身提供定时任务java.util.Timer类&#xff0c;但太过简单&#xff0c;几乎无…

博客部署002-centos安装nginx

1、centos 如何安装nginx? 在CentOS系统上安装Nginx的过程相对直接&#xff0c;通常可以通过系统自带的Yum包管理器来安装。以下是安装Nginx的最新稳定版的步骤&#xff1a; 1.1 更新系统软件包 在安装Nginx之前&#xff0c;首先确保系统软件包是最新的&#xff0c;运行…

如何使用GraphQL和Apollo构建一个宝可梦应用

宝可梦是一个由视频游戏、动画系列与电影、交换卡牌游戏以及其他相关媒体组成的日本媒体特许经营权。 在本文中&#xff0c;我们将使用一个宝可梦GraphQL API&#xff0c;该API提供有关不同宝可梦的数据。 我们将使用Apollo和GraphQL来处理数据获取&#xff0c;以及React来构…

谨慎使用通过光纤传输的HDMI光纤线,存严重缺陷

严重缺陷&#xff1a; 1.只能单向传输 只能单向传输&#xff0c;从一端到另一端&#xff0c;和二极管一样&#xff0c;只能单向传输信号。某些情况你需要变更传输方向时&#xff0c;你将欲哭无泪.传统的HDMI线&#xff0c;不带放大器的&#xff0c;都可以双向传输.网上搜索布…

解密极验滑块验证码的w参数

一、极验请求分析 滑块测试网站入口 我们首先访问极验滑块验证码测试主页&#xff0c;以便获取后续请求中的url。 滑块验证过程抓包 通过抓包工具分析滑块验证过程&#xff0c;发现与第三代滑块验证码相比&#xff0c;第四代简化了验证过程&#xff0c;加密参数w的生成也变得…

【00150】金融理论与实务-2023年10月自考真题

目录 一、单选题 二、多选题 三、判断说明题 四、计算题 五、简答题