【发布时间】:2020-11-16 14:26:11
【问题描述】:
我有一个 Swing Java 应用程序 (A),它在按下某个按钮时使用 Runtime.getRuntime().exec() 启动另一个应用程序 (B)。
是否可以设置某个 Key Hook,以便当应用程序 (B) 打开并处于活动状态时,它会更改按钮(例如,当您按下 “Q”,其实就是按下了“H”按钮,以此类推)。和鼠标类似的情况(例如,如果“Mouse Mid”或“Mouse Wheel”被按下,实际上另一个按钮被按下,例如“T”)。
理想情况下,它应该适用于所有操作系统,但主要适用于 Windows。
请告诉我是否有可能实现这一点,我很乐意提供任何建议或示例。
【问题讨论】:
-
您需要在操作系统级别工作,因此每个平台的解决方案必须不同,不是吗?
-
@Abra 可能是的,我只是从未遇到过原生函数,对我来说这是一个新领域。我阅读并观看了有关 JNA / JNI / Jnativehook 库的视频。但是在我看到的所有示例中,只能捕获传入的键值。不知道该看哪个方向才能改变和转移。
标签: java jna mouse-hook jnativehook keyhook