0

ユーザーが行うすべてのマウスクリックをリッスンしようとしています。ユーザーがクリックしたウィンドウを知る必要があります (おそらく CGWindowID によって)。CGEventTap を介してすべてのクリックをリッスンしていますが、クリックされたウィンドウを取得する方法がわかりません。CGEventRef オブジェクトからウィンドウ ID を取得する方法を知っていますか?

さらに、[event windowNumber] を取得して [NSEvent addGlobalMonitorForEventsMatchingMask] を使用すると、ウィンドウ ID を取得できることはわかっていますが、このリスナーを使用することはできません。自分の窓。誰かが知っているかもしれませんが、これはどこから来ているのでしょうか?

ありがとう!

ペドロ

4

1 に答える 1

0

windowNumberをに変換した後、CGEventにアクセスできますNSEventか?

CGEvent cgEvent = EVENT_FROM_YOUR_CGEVENT_TAP;
NSEvent *nsEvent = [NSEvent eventWithCGEvent:cgEvent];

NSInteger windowNumber = [nsEvent windowNumber];
于 2015-02-16T22:26:40.170 に答える