2009-11-08 36 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