objective-c – Macos x应用程序的快捷方式

objective-c – Macos x应用程序的快捷方式,第1张

概述我需要读取MAC OS中最前面的应用程序的所有快捷方式. Cocoa中是否有API或类, Objective-c提供了这个? Accessibility API就是您所需要的.不幸的是,它相当令人费解,最好通过UIElementInspector source code阅读它的使用方法,以及与 Accessibility Programming Guidelines for Mac中的辅助应用相关 我需要读取MAC OS中最前面的应用程序的所有快捷方式. Cocoa中是否有API或类,Objective-c提供了这个?解决方法 Accessibility API就是您所需要的.不幸的是,它相当令人费解,最好通过UIElementInspector source code阅读它的使用方法,以及与 Accessibility Programming Guidelines for Mac中的辅助应用相关的部分.

你想要的是需要一些代码,所以我将概述步骤.

>使用[[NSWorkspace shareDWorkspace] runningApplications]获取应用程序列表,并获取其active属性为YES的应用程序.
>使用NSRunningApplication的processIDentifIEr属性获取该应用程序的PID.
>现在我们进入Accessibility,通过Application Services API访问
>使用AXUIElementCreateApplication创建表示活动应用程序的AXUIElement,它以pID作为参数.
>现在您有一个带有Application角色的AXUIElement或AXApplication伪类.您将要继续沿着元素的层次结构AXApplication – > AXMenubar – > AXMenubarItem – > AXMenuItem.请注意,AXMenuItems可以嵌套其他AXMenuItems.
>要遍历层次结构,请使用AXUIElementCopyAttributeValues获取值kAXChildrenAttribute.这将返回一个子阵列AXUIElements.
>最后,当您访问AXMenuItem元素时,请检查实际快捷方式的菜单项Cmd Char,Glyph,ModifIErs和Virtual Key属性.属性名称的常量,如kAXMenuItemCmdCharattribute,列于here.

总结

以上是内存溢出为你收集整理的objective-c – Macos x应用程序的快捷方式全部内容,希望文章能够帮你解决objective-c – Macos x应用程序的快捷方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1002156.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存