为位于系统托盘中的Java程序创建键盘挂钩

为位于系统托盘中的Java程序创建键盘挂钩,java,keyboard,system,handle,system-tray,Java,Keyboard,System,Handle,System Tray,基本上,我有一个在系统托盘中运行的java程序,并希望添加它,因此,如果用户按下say CTRL+SHIFT+1,它将选择托盘中java程序的右键单击选项之一 我想我要找的是一个关于做这件事的教程,或者最简单的方法是什么。我以前从来没有做过这样的事情,所以可能是某种noobie教程 感谢因此,创建键盘挂钩并不像看上去那么容易,java没有提供一种直接的方式来与系统事件进行交互以达到安全目的;因为它可能会导致JVM、系统内存和Java框架的可移植性方面的严重问题 制作全局键盘挂钩有4种方法: 1-

基本上,我有一个在系统托盘中运行的java程序,并希望添加它,因此,如果用户按下say CTRL+SHIFT+1,它将选择托盘中java程序的右键单击选项之一

我想我要找的是一个关于做这件事的教程,或者最简单的方法是什么。我以前从来没有做过这样的事情,所以可能是某种noobie教程


感谢

因此,创建键盘挂钩并不像看上去那么容易,java没有提供一种直接的方式来与系统事件进行交互以达到安全目的;因为它可能会导致JVM、系统内存和Java框架的可移植性方面的严重问题

制作全局键盘挂钩有4种方法:

1-Learn/,我更喜欢JNA,因为它比JNI容易得多,在这两种情况下,您都应该处理.dll文件

2-使用JIntellitype,正如您所说,它会产生一些问题

3-Sergei Biletnikov的优雅解决方案


4——忽略java,尝试AutoTV3(我不确定100%,但我认为你可以把信号/事件从Autoit发送到java应用程序,所以AutoTi将作为一个捕捉全局键的桥梁)

如果是Windows环境,考虑使用AutoTIT3来做这个。抱歉,这不是我要找的。到目前为止,我发现的最接近JIntellitype的东西是JIntellitype,但当我尝试作为jar运行时,它会出现问题。