我找到了两种在 Mac OS 上处理全局事件的方法:
- NSEvent.addGlobalMonitorForEvents 仅获取原始事件的副本,可以监视,但不能更改或阻止。
- 像 How to Capture / Post system-wide Keyboard / Mouse events under Mac OS X? 中的答案一样使用 InstallEventHandler问题。但只有 GetEventMonitorTarget() 有效,所以我只监视事件。
那么,如何预防/改变系统范围的事件呢? KeyboardCleanTool 应用程序 ( http://blog.boastr.net/?p=2452 ) 可以做到这一点,所以我认为这是可能的。
最佳答案
您可以使用Quartz Event Taps为了那个原因。为了监视/更改/阻止键盘事件,您的进程需要被信任以进行辅助功能访问。
关于objective-c - 如何在 Mac OS X 下阻止/更改系统范围的键盘/鼠标事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60026612/