키보드 이벤트를 가로 채서 데모 앱을 성공적으로 가져 왔습니다. 여기에 대한 핸들러가 있습니다.CGEventRef가 어떤 응용 프로그램에서 왔는지 어떻게 알 수 있습니까?
CGEventRef keyUpCallback (CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) {
NSLog(@"KeyUp event tapped!");
return;
}
이벤트를 보낸 응용 프로그램에 따라 다른 작업을 수행하려고합니다. 어떤 응용 프로그램인지 어떻게 알 수 있습니까?
또한 응용 프로그램에서 이벤트를 보내지 않았습니다. 어떤 종류의 키보드가 이벤트를 보냈습니다. 신청서 *는 해당 일정을받습니다. 응용 프로그램이 이벤트를 구성하여 큐에 게시 할 수도 있지만이 경우에는 위조 된 것과 동일한 속성을 가진 실제 이벤트와 다르게 처리 할 수 있습니다. 어쨌든, 어떤 응용 프로그램 (있는 경우)이 이벤트를 작성하고 게시했는지 말할 수 없습니다. –
합병증이 있습니다. 활성화되지 않은 패널과 같은 것이 있습니다 (['NSNonactivatingPanelMask'] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSPanel_Class/Reference 참조). /Reference.html#//apple_ref/doc/uid/20000244-SW10)). 따라서 "키"상태 (포커스)가있는 앱이 활성화되지 않았을 수 있습니다. 어떤 응용 프로그램이 실제로 그 경우에 초점을 가지고 있는지 알아내는 방법을 모르겠습니다. –