Какао глобальные ярлыки? - PullRequest
       12

Какао глобальные ярлыки?

13 голосов
/ 25 января 2010

Я хочу создать глобальный ярлык для моего приложения. Я использовал «крутой новый способ» сделать это с помощью метода addGlobalMonitorForEventsMatchingMask. Проблема в том, что мои события не «расходуются»: мой ярлык включает пробел, поэтому всякий раз, когда я использую ярлык, Quicklook появляется, когда я в Finder.

Как я могу предотвратить это? Я знаю, что это возможно, потому что многие приложения, например приложение контроллера Bowtie iTunes, делают это.

Ответы [ 2 ]

10 голосов
/ 25 января 2010

addGlobalMonitorForEventsMatchingMask: не подходит для замены существующего API-интерфейса Carbon Hotkey по разным причинам; это ужасно неэффективно, например. И из документов:

... вы можете только наблюдать за событием; Вы не можете изменить или иным образом предотвратить доставку события в исходное целевое приложение.

и

События, связанные с ключами, могут отслеживаться только в том случае, если доступность включена или если ваше приложение является доверенным для доступа со специальным доступом

API-интерфейс Hotkey по-прежнему является единственным способом реализации глобального ярлыка в OS X. Но в отличие от многих API-интерфейсов Carbon, API-интерфейс Hotkey доступен для 64-разрядных приложений.

7 голосов
/ 25 января 2010

Используйте горячую клавишу API , предназначенную для этой цели.

...