Как прервать горячую клавишу в Какао, когда окно приложения не активно

Я пытаюсь создать утилиту, которая не открывает окно при выполнении, и это будет активировано от горячей клавиши; я считал, что в настоящее время Какао не имеет функции для этого, и что я должен использовать Углеродную функцию устаревшую.

Нет ли действительно способ использовать глобальные горячие клавиши в Какао?Что мне делать: ожидайте Какао, чтобы представить функцию для этого или использовать углеродную функцию, пока подобная функция не будет представлена в Какао?

5
задан kiamlaluno 27 May 2011 в 18:25
поделиться

2 ответа

Используйте функцию RegisterEventHotKey диспетчера событий углерода. Эта функция поддерживается в 64-битной (обратите внимание, что в ней отсутствует примечание о доступности «недоступно в 64-битной»).

И наоборот, новый метод NSEvent addGlobalMonitorForEventsMatchingMask: handler: в Snow Leopard это не самый простой способ реализовать горячую клавишу. Во-первых, это требует, чтобы у пользователя был доступ к включенным вспомогательным устройствам; кроме того, он требует, чтобы вы самостоятельно проверяли каждое событие по сравнению с системой RegisterEventHotKey , которая вызывает вашу функцию обратного вызова только тогда, когда пользователь нажимает конкретную клавишу, для которой вы зарегистрировались.

8
ответ дан 13 December 2019 в 22:09
поделиться

Взгляните на Shortcut Recorder ( http://wafflesoftware.net/shortcut/ ), фреймворк, который использует Carbon Event Manager для глобальных горячих клавиш, он также позволяет вам измените пользователя, чтобы изменить HotKey (если это то, что вы хотите).

И см. Этот Проект / Код о том, как его реализовать: http://github.com/sdegutis/SDGlobalShortcuts .

2
ответ дан 13 December 2019 в 22:09
поделиться