问题标签 [jnativehook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
354 浏览

java - Read each key press only once with JNativeHook

In my program want to have a text field that will contain the current keys pressed by the user. I can do this with JNativeHook, but the problem currently is that JNativeHook is registering tons of key presses when it is held down. Is there a way to ignore key holds? I would like to simply append to the text field whatever keys are currently held without overpopulating it with duplicates

Here is the relevant part of my code: (This is in my main class that extends Application and implements NativeKeyListener)

All of this works fine, but if I hold a key, it will spam that key code in the console. Can I stop this?

0 投票
1 回答
265 浏览

java - 在 JavaFX 中设置全局光标

我的场景中有一个按钮,单击该按钮时,光标变为十字准线,用户可以通过单击鼠标选择屏幕上的 X、Y 位置,然后光标变回。为此,我正在使用

问题是,一旦将鼠标拖离框架,它就会变回默认值。只有在窗口内时,它才会保持为十字准线。我知道在 Java 中不可能与框架之外的东西进行交互,这就是为什么我在这个项目中为我的鼠标侦听器使用 JNativeHook。有了这个,有没有办法改变全局光标?

0 投票
1 回答
242 浏览

java - Java AWT Robot 将鼠标点击放置在屏幕上完全随机的位置 [视频说明]

我正在尝试编写一个程序,用户可以在其中创建单击和按键的脚本,并按顺序执行它们。该程序最重要的功能是能够准确地将点击放在屏幕上的正确坐标上。一年前我用 C# 制作了这个程序,但现在我在 JavaFX 中重试它,让它更漂亮。我将 JNativeHook 用于键侦听器和鼠标侦听器。

这是我面临的问题:运行robot.mouseMove() 时,光标被发送到屏幕上完全随机的位置。我通过在 NativeMouseListener mousePressed 函数内部和带有机器人的类内部输出光标的当前位置来验证这一点。为了在 NativeMouseLIsener 中获取鼠标位置,我使用了 NativeMouseEvents getX 和 getY 函数,它们是完全准确的。然后对于其他输出,我使用的是具有不同结果的 PointerInfo.getPointerInfo()。当显示 DPI 缩放设置为 100% 时,PointerInfo 完全不准确。这似乎有点荒谬。机器人正在向鼠标发送一个随机位置,而 PointerInfo 甚至无法正确读取该位置。如果我将显示缩放设置为 125%,那么 PointerInfo 将在屏幕上获得与 NativeMouesListener 相同的位置,

是否有任何替代方案或外部库可以用来模拟鼠标点击?令人难以置信的是,像机器人这样功能失调的东西是我们唯一必须完成的事情。

这是一个视频,进一步解释了我的问题: https ://www.youtube.com/watch?v=BerTofDwRUw

0 投票
1 回答
318 浏览

java - jnativehook 的 KeyEvents

我正在尝试jnativehook用于全局键盘侦听器,但似乎键码不同。例如,我想检查是否按下了ALT+ :I

检查ALT要按下的修饰符按预期工作,但检查I按钮没有按预期工作:

为什么23我松开I按钮时是键码?如何在I不对那些看似随机的整数常量进行硬编码的情况下检查按钮?Java 提供了KeyEvent关键代码类,但它们在这里不适用,是吗?

0 投票
0 回答
616 浏览

ant - 运行“ant all”时,命令提示符返回“命令的语法不正确”

我正在尝试按照教程编译jnativehook 。我遵循了所有步骤(我在 Windows 上运行并且在某些部分使用了 Cygwin),直到Building部分(运行命令)。我添加了如下环境变量:ant all

并将以下内容添加到路径中:

但是,每当我尝试运行ant all命令(使用默认命令提示符并以管理员身份)时,我都会收到此错误:

该命令的语法不正确。

尝试从命令提示符运行批处理文件时出现相同的错误:

该命令的语法不正确。

ps:当我运行java -version命令时,它返回:

Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

0 投票
1 回答
386 浏览

java - Jnativehook Mouse Listener 问题(Java)

我试图在按住左键时将布尔值设为真,当我没有左键时将其设为假,我正在尝试使用“Jnativehook”鼠标监听器”(https://github.com/kwhat/jnativehook/wiki /Mouse ) 但布尔值没有改变。

代码:

0 投票
1 回答
79 浏览

java - 导入库后出现 NoClassDefFoundError

我做了一个模拟鼠标移动的小程序。到目前为止,一切都按预期工作,直到我添加了 jnativehook 库来监听键盘输入以停止程序。

在此之后问题开始出现,当我从 IDE 启动我的程序(我使用 intelij)时,一切正常。但是当我将程序构建到 jar 中时,jar 不会启动并给出此错误: 错误代码

我试图添加这样的路径 java -classpath .;jnativehook-2.1.0.jar Main (在这里找到这个方法,但它不起作用)也将 nativehook.jar 放在我的目录中,但这也没有帮助. 我的项目结构看起来像这样 atm: project settings

我是向项目添加库的新手,谁能帮我解决这个问题?

0 投票
1 回答
497 浏览

java - JNativeHook 库的 Java nativeKeyTyped 方法未在 Windows 10 上触发

我正在使用 JNativeHook 进行全局键盘监听,但在 Windows 10 上从未触发 nativeKeyTyped 方法。始终触发 nativeKeyPressed 和 nativeKeyReleased 方法。所有方法都在 linux 上运行良好。有人可以帮我解决这个问题吗?

0 投票
1 回答
107 浏览

java - 在 Java 中检测打开的文件夹(JNativeHook)

我正在使用 JNativeHook 来检测程序中 JFrame 外部的拖动和单击,并且它运行良好。问题是我需要一种方法(使用 JNativeHook 或其他任何东西)来检查我的资源管理器(Mac 的 Finder)中是否打开了一个文件夹,以便我可以将文件移动到这个打开的文件夹中。JNativeHook 似乎没有检测点击是在哪个程序或窗口上的选项。

我希望我正在寻找的代码的输出能够在我的系统资源管理器中返回打开文件夹的路径,以便我可以将文件移动到该路径。

0 投票
0 回答
253 浏览

java - JnativeHook 在 MacOS 上创建冻结问题

我正在做一个程序,用JAVA计算 Windows、Mac 和 Linux 上的键盘鼠标移动性。我正在使用JNativeHook来获取键盘和鼠标移动。它在 Windows 和 Linux 上运行良好,但在 MacOS 上运行 10-15 分钟后,电脑死机,我必须重新启动电脑。

我试过注销 JnativeHook ( ) 并每 10 秒GlobalScreen.unregisterNativeHook();重新注册一次 ( )。GlobalScreen.registerNativeHook();现在我每2-3天遇到一次问题。10 分钟到 2-3 天,但这不是确切的解决方案。

这不是我最新的代码,但问题是基本代码 https://github.com/erYunusTR/MouseKeyboardListener

当您将应用程序作为 .app(MacOS App) 运行时会出现问题,当您将其作为 jar 运行或在 ide 上运行时不会出现此问题

你以前有过这样的 Mac 用户吗?或者你有什么建议吗?