objective-c - 如何在 Mac OS X 下阻止/更改系统范围的键盘/鼠标事件?

标签 objective-c swift macos

我找到了两种在 Mac OS 上处理全局事件的方法:

  1. NSEvent.addGlobalMonitorForEvents 仅获取原始事件的副本,可以监视,但不能更改或阻止。
  2. 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/

相关文章:

iphone - 从 UITableViewCell 到父 UITableView 的引用?

objective-c - 窗口大小改变时的 NSWindow 事件

ios - 当 View 改变时变量变为零

Swift reduce - 为什么 value 是可选的?

php - 连接到本地主机时 Laravel 5 '..failed to open stream: Permission denied' 异常

ios - 钥匙串(keychain)和 NSUserDefault 之间的区别?

ios - 为什么你不需要在你的子类 init 方法实现中 [super alloc]?

ios - 在 Swift 中按下特定的键盘按钮

python - 写入文本时 Tkinter 在 MacOs 上不刷新

mysql - 有密码root失败,无密码root可以