1

MacOsX のグローバル マウス イベントに関して、Stackoverflow にいくつかの質問があることは知っています。

私が作成したいのは、OsX のスクリーンショット機能のビルドとほとんど同じように機能する機能です。(Shift+CMD+4)

ショートカットを押して、それでマウスリスナーをアクティブにしたい。次に、mouseDown イベントが 1 つの座標を返し、mouseRelease イベントが別の座標を返す必要があります。次に、それらから CGRect を作成したいので、eventlistener を非アクティブ化する必要があります

私が見つけたすべてのコードサンプルは、NSView または NSWindow で mouseEvents を提供しますが、グローバルではありません。または、マウス座標の場所を提供しますが、NSTimer を使用して自分でポーリングする必要があります。それらのどちらも私が必要とするものではありません。

私が言ったように:私は検索に数時間を費やしました. 多くの質問スレッドと Cocoa イベント処理に関する Apple ガイドを読みましたが、どれも本当に役に立ちませんでした。

御時間ありがとうございます!

4

1 に答える 1

0

を使用してグローバルマウスイベントを取得できるようになります

1)CGEvents。CGEventTap()を使用します。

2)OS X v 10.6から、新しい方法があります:

+ (id)addGlobalMonitorForEventsMatchingMask:(NSEventMask)mask handler:(void (^)(NSEvent*))block
于 2013-01-11T15:10:24.177 に答える