2014-04-23 13 views
0

我試圖聽用戶所做的所有鼠標點擊。我需要知道用戶點擊了哪個窗口(大概是通過它的CGWindowID)。我正在通過CGEventTap監聽所有的點擊,但是現在我找不到如何獲得點擊的窗口。你知道一些從CGEventRef對象中檢索窗口ID的方法嗎?使用CGEventTap獲取點擊偵聽器的窗口標識(objective-c)

另外,我知道我可以通過獲取[event windowNumber]使用[NSEvent addGlobalMonitorForEventsMatchingMask]來獲取窗口ID,但我無法使用此偵聽器,因爲由於某種原因,偵聽器設置後阻止所有輸入到我自己的窗口。也許有人也知道,這是從哪裏來的?

謝謝!

佩德羅

+0

我不認爲'addGlobalMonitorForEventsMatchingMask:處理器:'塊輸入你自己的窗口,它只是不聽他們的,因爲文件說。 – JWWalker

回答

0

您是否能轉換CGEventNSEvent後訪問windowNumber

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

NSInteger windowNumber = [nsEvent windowNumber]; 
相關問題