0

是否可以通过 applescript 访问第三方菜单?(这些图标显示在全局菜单栏的右上角)。

我基本上想知道某个菜单项(单击图标时显示)是启用还是禁用(灰显)。

有这方面的资源吗?

谢谢

4

1 回答 1

2

是的,菜单项具有“启用”属性。对于“灰色”菜单项,该属性为假。例如,我在主菜单栏中显示时钟菜单。如果我想知道每个菜单项的启用属性,我可以这样做......

tell application "SystemUIServer" to activate

set theProps to {}
tell application "System Events"
    tell process "SystemUIServer"
        set menulets to menu bar items of menu bar 1
        repeat with aMenu in menulets
            if (description of aMenu) is "clock" then
                click aMenu -- we have to open it to access the menu items inside it
                delay 0.2
                set clockMenuItems to menu items of menu 1 of aMenu
                repeat with aMenuItem in clockMenuItems
                    set end of theProps to {title of aMenuItem, enabled of aMenuItem}
                end repeat
            end if
        end repeat
    end tell
end tell

return theProps

请注意,其中一些菜单不是常规菜单。那些你必须区别对待但概念是一样的。您单击菜单然后访问其菜单项并检查其启用属性。

于 2012-06-19T15:50:00.590 回答