【问题标题】:Perform keyboard shortcut programmatically - Objective-C以编程方式执行键盘快捷键 - Objective-C
【发布时间】:2012-10-11 13:18:06
【问题描述】:

我正在寻找一种以编程方式执行键盘快捷键的方法,就好像用户自己点击了这些键一样。但是,该快捷方式是由用户使用名为 ShortcutRecorder 的自定义控件选择的。

有什么方法可以获取 ShortcutRecorder 提供的信息(我认为基本上是键码和标志)并执行该快捷方式?

【问题讨论】:

  • 您是在自己的应用程序中还是在系统范围内尝试这样做?
  • @user1118321 好问题。全系统。就像我说的,就像用户自己做的一样。这意味着快捷方式将对最前面的应用程序产生影响,这可能是也可能不是我的。
  • 你可能需要使用Accessability APIs
  • @user1118321 你能举个例子吗?我不知道这个 API 会怎么做。
  • 很遗憾,我没有示例。我认为您要使用的是:AXUIElementPostKeyboardEvent()。它的描述为“将密钥发布到指定的应用程序。”

标签: objective-c cocoa keyboard-shortcuts


【解决方案1】:

您可以使用CGEventPost() 在系统范围内发布键盘事件,但用户必须在通用访问系统首选项窗格中启用辅助设备访问权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-28
    • 2020-07-07
    • 2011-03-25
    • 2017-01-10
    • 1970-01-01
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多