2009-11-08 69 views
3

我试图找出AppleScript中给定菜单项的键盘快捷键(例如,shift + cmd + S)。 “探测菜单栏”脚本帮助我访问菜单项,甚至检查它们的属性等,但我一直无法发现哪些将打印出键盘快捷方式。在苹果脚本中,如何访问菜单项的键盘快捷键?

的探测脚本是这样的:

tell process "Finder" 
get every menu bar 
tell menu bar 1 
get every menu bar item 
get every menu of every menu bar item 
get every menu item of every menu of every menu bar item 

所以,我只是需要一种方法来打印/收集快捷方式从表示,这循环中“菜单项”。

感谢您的帮助!

回答

6

它看起来键盘快捷键信息可在每个菜单栏项目属性:

tell application "System Events" 
    get name of menu item 2 of menu 3 of menu bar 1 of process "Finder" 
     --> "New Folder" 
    get every attribute of menu item 2 of menu 3 of menu bar 1 of process "Finder" 
      --> {attribute "AXRole" of menu item "New Finder Window" of menu "File" of menu bar item "File" of menu bar 1 of application process "Finder", [...] 
    get properties of attribute "AXMenuItemCmdChar" of [...] 
     --> {value:"N", class:attribute, settable:false, name:"AXMenuItemCmdChar"} 
    get properties of attribute "AXMenuItemCmdModifiers" of [...] 
    --> {value:1, class:attribute, settable:false, name:"AXMenuItemCmdModifiers"} 

有属性和它们的值here和详细的参考here的一些阐述。

+0

P.S.它被认为是很好的堆栈溢出礼仪,可以将答案标记为已接受(这样回答者可以获得声望点),也可以留下澄清所寻找内容的声明。 – 2009-11-11 03:52:25

+0

糟糕 - 直到现在才看到您的评论。感谢你的回答! 我会对我的礼仪工作:-) – 2009-12-30 23:22:37

+0

嘿,迟到比从未好! – 2009-12-30 23:46:35