3

为了在我的一个项目中阻止所有键盘访问、鼠标访问和键盘快捷键事件,我:

  1. 创建了一个全屏透明无边框窗口,在其他窗口前面,但不可见。
  2. return;使用简单的窗口本身处理所有键盘和鼠标事件。
  3. 制作window模式[NSApp runModalForWindow:myWindow]以阻止键盘快捷键。
  4. window仅从触摸板的手势事件中释放。

但是这个家伙在一个小应用程序中让它看起来很简单 - MACIFIER

他是怎么做到的呢?

4

2 回答 2

0

我相信你可以使用Quartz Event Services。特别是,看看CGEventTapCreate,并注意第 4 个参数,它允许您指定要拦截的事件类型。可用的事件类型在CGEventType枚举中列出。

如果您将点击设置为活动过滤器,NULL则从回调返回将删除该事件。

于 2012-07-13T18:28:11.777 回答
0

不确定这是否可用,但您可以使用程序 hotkeynet(通常用于游戏,但我已经使用其他方法取得了成功)并映射每个键/鼠标操作以不执行任何操作。我通过在大约 20 到 30 分钟内阻止对特定程序的访问来做了类似的事情。

不确定是否有帮助;但这可能是您需要的解决方案?

于 2012-07-13T19:28:08.200 回答