addGlobalMonitorForEventsMatchingMask возвращает значение null - PullRequest
0 голосов
/ 05 марта 2012

Я пытаюсь отслеживать глобальные события, поэтому я попытался добавить глобальный монитор.Однако я не смог получить никакой информации от этого монитора.Он активируется по событию, но возвращает NULL.

    [NSEvent addGlobalMonitorForEventsMatchingMask:(NSLeftMouseDownMask) handler:^(NSEvent *incomingEvent){
NSLog(@"Window Number :%@",[[incomingEvent window] windowNumber]);
}];

Этот код используется в методе (id)init в программе.Всякий раз, когда я щелкаю окно или вызываю событие, я получаю сообщение NSLOG с NULL в качестве информации об окне.Пример вывода выглядит следующим образом:

Window Number: (null)

Я не знаю, где я иду не так.Может ли кто-нибудь объяснить мне, пожалуйста?

1 Ответ

0 голосов
/ 06 марта 2012

Я исправил проблему. Проблема, с которой я столкнулся, была вызвана

NSLog(@"Window Number :%@",[[incomingEvent window] windowNumber]);

Если вы хотите отобразить детали окна, которое вы щелкнули, используйте CGWindow.h процедуры, как описано в посте https://stackoverflow.com/a/4704158/1249876

Хотя, логически, windowNumber является методом класса NSWindow, в этом случае он не возвращает никакого вывода, что немного нелогично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...