我完全被多年来一直在工作的逻辑所困扰。我正在使用它在应用程序处于后台时收听键盘事件(热键)。
CFMachPortRef eventTap = CGEventTapCreate(kCGSessionEventTap,
kCGHeadInsertEventTap,
kCGEventTapOptionDefault,
CGEventMaskBit(kCGEventKeyDown) | CGEventMaskBit(kCGEventFlagsChanged),
myCGEventCallback,
nil);
if (!eventTap) {
printf("error: event tap register failed\n");
return false;
}
代码没有改变,这已经工作了很长时间,直到最新的 mojave 更新。我该如何解决这个问题的原因?有谁知道我怎样才能让它再次工作?