使用Java,是否可以在不使用GUI元素的情况下检测用户操作,例如按键,鼠标按键和/或鼠标屏幕位置?
如果是,我该如何实施呢?
否则,有哪些替代方案?
我在这个问题上发现的唯一StackOverflow源是this question,没有答案。
我在StackOverflow之外找到的关于此问题的唯一来源指向“隐形GUI”解决方案,希望是我真正想要避免的。
答案 0 :(得分:2)
它可以使用JNI和/或JNA实现,但这不能真正称为“java实现”,因为您必须编写特定于平台的本机代码。
我尝试的替代解决方案是使用全屏透明寡妇,它正在监听鼠标和键盘的所有事件,并使用类Robot
将它们“转发”到真实应用程序。我试过这种方法。它适用于一个限制:支持应用程序的“鼠标悬停”事件存在问题:鼠标不会移动到实际应用程序上。它正在移动透明的java窗口。
答案 1 :(得分:-1)
使用java.awt.event.KeyListener类。您必须编写三种方法,在这些方法中,您可以编写要检测的键,以及按下键时想要发生的任何键。