我有一个用户指定的全局热键,并希望检查并确保它不会与其他应用程序发生冲突。是否有任何API可以向其他应用程序询问其快捷方式,或者我是否卡在手动检查选定的快捷方式是否为常用快捷方式(Cmd + v,Cmd + C等)?
由于
答案 0 :(得分:1)
您必须询问响应者链,特别是[NSResponder tryToPerform:with:]方法将返回任何处理您的操作的内容。不要担心其他应用程序正在做什么,只需检查用户的快捷方式是否已被使用。
tryToPerform:其中: 尝试使用指定的参数执行操作指示的方法。
讨论 如果接收器响应anAction,它将使用anObject作为参数调用该方法并返回YES。如果接收者没有响应,它会将此消息发送给具有相同选择器和对象的下一个响应者。
状况 适用于OS X v10.0及更高版本。 也可以看看 - doCommandBySelector: sendAction:to:from :( NSApplication) 宣告进入 NSResponder.h