実行時にウィンドウを開かず、ホット キーからアクティブ化されるユーティリティを作成しようとしています。現在、Cocoa にはそのための関数がなく、非推奨の Carbon 関数を使用する必要があることを読みました。
Cocoa でグローバル ホット キーを使用する方法はありませんか? Cocoa がそのための機能を導入するのを待つか、Cocoa に同様の機能が導入されなくなるまでカーボン機能を使用する必要がありますか?
実行時にウィンドウを開かず、ホット キーからアクティブ化されるユーティリティを作成しようとしています。現在、Cocoa にはそのための関数がなく、非推奨の Carbon 関数を使用する必要があることを読みました。
Cocoa でグローバル ホット キーを使用する方法はありませんか? Cocoa がそのための機能を導入するのを待つか、Cocoa に同様の機能が導入されなくなるまでカーボン機能を使用する必要がありますか?
Carbon Event Manager のRegisterEventHotKey
機能を使用します。この関数は 64 ビットでサポートされています(「64 ビットでは使用できません」という可用性の注記がないことに注意してください)。
逆に、Snow Leopard の NSEvent の新しいaddGlobalMonitorForEventsMatchingMask:handler:
メソッドは、ホットキーを実装する最も簡単な方法ではありません。1 つには、ユーザーが補助デバイスにアクセスできる必要があります。RegisterEventHotKey
さらに、ユーザーが登録した特定のキーを押したときにのみコールバック関数を呼び出すシステムとは異なり、すべてのイベントを自分で調べる必要があります。
Shortcut Recorder ( http://wafflesoftware.net/shortcut/ ) を見てみましょう。これはグローバル ホットキーに Carbon Event Manager を使用するフレームワークであり、ユーザーを変更してホットキーを変更することもできます (これが必要な場合)。
そして、それを実装する方法については、このプロジェクト/コードを参照してください: http://github.com/sdegutis/SDGlobalShortcuts .