admin 管理员组

文章数量: 887006

title: Java中使用JNA实现全局监听Windows键盘事件
date: 2019-05-02 21:55:00

Java中使用JNA实现全局监听Windows键盘事件

前言:

一直打算做一个键盘音效软件,我就只会Java语言,其他语言有实现方式了,例如:c/c++、Python......等等,都有实现监听pc端键盘全局事件的方式。Java语言的实现方式真的找了很久资料,也问了很多人。。。百度上一搜索都是建议用jni让Java跟c/c++语言结合实现这个功能,或者用jna让Java跟c/c++语言结合实现这个功能.....我就是不会c语言啊!!!超级无敌理直气壮的,哼╭(╯^╰)╮

其中一度想到了,要不我就放弃吧,乖乖学C/C++...最后,没错,我实现了,哈哈哈

功能剖析:

Java代码运行在Jvm虚拟机内,键盘输入的东西,只有操作系统知道,Jvm虚拟机如何知道呢?那就是JNI编程,通过写C/C++代码,监听操作系统的的输入流,然后通过JNI调用。虽然我不会JNI,也不会C/C++,但幸运的是,SUN公司已经实现了这个代码,弄出一个叫JNA的东西(Java Native Access),给Java提供了访问操作系统键盘鼠标的能力。

然后将人家的代码完整拷贝,想跑一下,结果没jar包,一直报错,根据包名百度,在maven仓库中找相关jar包,(想找官方的jar包和一些文档,无奈,因为被收购的

本文标签: 全局 键盘 事件 java JNA