2012-04-26 1 views
4

В принципе, у меня есть Java-программа, которая запускается в системном трее и хотела бы добавить ее сделать, если пользователь нажал клавишу CTRL + SHIFT + 1, он выбирает один параметров правой кнопки мыши java-программы, которая находится в лотке.Создание крючка для клавиатуры для Java-программы, которая находится в системном лотке

Я предполагаю, что я ищу учебник по этому поводу или самый простой подход. Раньше я никогда не делал этого, так что, возможно, какой-то учебник Noobie?

Благодаря

+0

Если это для среды Windows, рассмотрите возможность использования AutoIt3 для этого. –

+0

Извините, но это совсем не то, что я ищу. Самое близкое, что я нашел до сих пор, это JIntellitype, но у меня есть проблемы, когда я пытаюсь запустить как банку. – ShaneIsrael

ответ

1

так, создавая хук клавиатуры не так просто, как это выглядит, Java не обеспечивает прямой способ взаимодействия с системными событиями в целях безопасности; так как это может привести к серьезным проблемам, касающихся JVM, памяти sysytem и переносимость Java Framework ..

у вас есть 4 способа сделать глобальные перехватчики клавиатуры:

1- Узнайте JNI/JNA, и я предпочитаю ЮНА так как его намного проще, чем JNI, в обоих случаях вы будете иметь дело с DLL-файлами.

2 - Используйте JIntellitype, который, как вы сказали, вызывает некоторые проблемы.

3- элегантное решение Сергея Билетовникова here.

4-игнорировать Java и попробовать Autoit V3 (я не уверен на 100%, но я думаю, что вы могли отправлять сигналы/события из Autoit в ваше Java-приложение, поэтому Autoit просто работал бы как мост, который ловит глобальные нажатия клавиш)

 Смежные вопросы

  • Нет связанных вопросов^_^