以下の手順でシステムワイドキーボードモニターをインストールできます。
CGEventRef eventCallback(CGEventTapProxy proxy, CGEventType type,
CGEventRef event, void *userData)
{
}
CFMachPortRef eventTap = CGEventTapCreate(kCGHIDEventTap,
kCGHeadInsertEventTap, kCGEventTapOptionDefault,
kCGEventKeyDown,
&eventCallback,
NULL);
if(eventTap)
{
CFRunLoopSourceRef eventRunLoopSourceRef =
CFMachPortCreateRunLoopSource(NULL, eventTap, 0);
CFRelease(eventTap);
CFRunLoopAddSource(CFRunLoopGetCurrent(), eventRunLoopSourceRef,
kCFRunLoopDefaultMode);
CFRelease(eventRunLoopSourceRef);
}
このコードの欠点は、「システム環境設定」で「ユニバーサルアクセス」をアクティブにし、すべてのプロセスを監視する必要があることです(私はそれを必要としません)。
プロセス内のキーボードイベントを監視したい。どのようにして「ユニバーサルアクセス」を有効にする必要がありますか?ありがとうございました。