0

applescriptを介してサードパーティのメニューレットにアクセスすることは可能ですか?(これらのアイコンは、グローバルメニューバーの右上隅に表示されます)。

基本的に、特定のメニュー項目(アイコンをクリックすると表示される)が有効になっているか無効になっているか(グレー表示)を知りたいです。

これに関するリソースはありますか?

ありがとう

4

1 に答える 1

2

はい、メニュー項目には「有効」プロパティがあります。このプロパティは、「グレー表示された」メニュー項目ではfalseです。たとえば、メインメニューバーに時計のメニューレットを表示します。各メニュー項目の有効なプロパティを知りたい場合は、これを行うことができます...

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 に答える