0

我正在尝试收听用户所做的所有鼠标点击。我需要知道用户点击了哪个窗口(大概是通过它的 CGWindowID)。我正在通过 CGEventTap 收听所有点击,但现在我不知道如何获取被点击的窗口。你知道一些从 CGEventRef 对象中检索窗口 id 的方法吗?

另外,我知道我可以通过获取 [事件 windowNumber] 使用 [NSEvent addGlobalMonitorForEventsMatchingMask] 来获取窗口 ID,但我不能使用此侦听器,因为由于某种原因,设置侦听器后它会阻止所有输入我自己的窗户。也许有人也知道,这是从哪里来的?

谢谢!

佩德罗

4

1 回答 1

0

将 转换为windowNumber后,您可以访问吗?CGEventNSEvent

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

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