标签: jnativehook

如何安装JNativeHook Library?

我正在尝试使用JNativeHook库为我的Java应用程序提供全局键盘和鼠标侦听器.我从https://github.com/kwhat/jnativehook下载了源文件,但我不知道如何将它安装到eclipse并使用它.我还查看了编译说明:https://github.com/kwhat/jnativehook/wiki/Compiling 我遵循了所有步骤,但它似乎让我感到困惑.所以任何人都可以指导我如何使用JNativeHook库.我使用Eclipse作为IDE,使用Windows 7作为操作系统.

java eclipse libraries jnativehook

5
推荐指数
1
解决办法
8560
查看次数

JnativeHook 在 MacOS 上产生冻结问题

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

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

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

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

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

java javafx jar jnativehook

5
推荐指数
0
解决办法
232
查看次数

按键混淆案例

背景

为屏幕投射开发一个基本的、开源的键盘和鼠标屏幕显示桌面应用程序,称为KmCaster

屏幕投射预览

该应用程序使用JNativeHook库来接收全局键盘和鼠标事件,因为 Swing 的鼠标侦听器仅限于接收针对应用程序本身的事件。

问题

当应用程序失去焦点时,用户界面会显示间歇性按键,而不是每次按键。然而控制台显示应用程序已收到每次按键。

代码

一个简短的、自包含的、可编译的示例:

import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;

import javax.swing.*;

import static java.util.logging.Level.OFF;
import static java.util.logging.Logger.getLogger;
import static javax.swing.SwingUtilities.invokeLater;
import static org.jnativehook.GlobalScreen.*;
import static org.jnativehook.keyboard.NativeKeyEvent.getKeyText;

public class Harness extends JFrame implements NativeKeyListener {

  private final JLabel mLabel = new JLabel( "Hello, world" );
  private int mCount;

  public void init() {
    getContentPane().add( mLabel );

    setDefaultCloseOperation( EXIT_ON_CLOSE );
    setLocationRelativeTo( null );
    setAlwaysOnTop( true );
    pack(); …
Run Code Online (Sandbox Code Playgroud)

java swing desktop-application jnativehook

5
推荐指数
1
解决办法
73
查看次数

JNativeHook 发布原生按键事件

我尝试使用 java 库https://github.com/kwhat/jnativehook将新的本机按键发布到系统。方法

GlobalScreen.postNativeEvent();
Run Code Online (Sandbox Code Playgroud)

需要传递一个 NativeInputEvent 对象,该对象需要参数

  • 全局屏幕的一个实例
  • 两个整数和一个长整型

根据文档,我无法弄清楚所需的参数是什么以及如何初始化新的 GlobalScreen 对象。(https://github.com/kwhat/jnativehook/blob/master/src/java/org/jnativehook/NativeInputEvent.java

感谢您提前的答复!

java jnativehook

2
推荐指数
1
解决办法
1829
查看次数