【问题标题】:Applescript to show Apple menu bar itemsApplescript 显示 Apple 菜单栏项目
【发布时间】:2013-05-05 23:42:35
【问题描述】:

我是 Applescript 新手。我想知道 Applescript 以显示任意应用程序中的 Apple 菜单栏项目(但原始应用程序应该保留许多栏)。

我尝试了以下脚本,将 Finder 用作一种虚拟应用程序,但它不起作用。

tell application "System Events"
    tell process "Finder"
        tell menu bar 1
            click menu bar item "Apple"
        end tell
    end tell
end tell

谁能帮忙?

PS-1:我想知道这一点,因为 Control-F2 将焦点移至菜单栏通常不起作用,如以下链接所述: https://apple.stackexchange.com/questions/12723/control-f2-move-focus-to-menu-bar-only-works-occasionally

PS-2:我尝试发布图片,但不允许。

【问题讨论】:

    标签: applescript menubar


    【解决方案1】:

    process 1 where frontmost is true 获取最前面的进程:

    tell application "System Events" to tell (process 1 where frontmost is true)
        click menu bar item 1 of menu bar 1
    end tell
    

    尽管在全屏窗口中单击菜单栏项不起作用。如果系统事件有几分钟没有使用,它会自动关闭,再次打开时会有短暂的延迟。

    【讨论】:

    • ....但是,没有达到我的目的。该脚本更改菜单栏本身(到 Finder 的菜单栏)。虽然我想实际显示 Apple 菜单项,但我想保持原始应用程序的菜单栏不变(-.-)
    • 你用什么运行它?当我使用 FastScripts 运行时,它会显示当前应用程序的菜单栏。
    • 对不起,我错了。它工作得很好,完全符合我的目的。再次感谢 d(^_^)
    【解决方案2】:

    您想实际显示菜单项,即在打开的菜单中还是在对话框窗口中,还是只想从菜单中选择一个菜单项?

    如果您运行以下脚本,Apple 菜单将打开。使用 ASCII 字符 28-31 导航菜单。

    tell application "System Events"
      -- focus
      key code 120 using control down
      -- navigate
      keystroke (ASCII character 31)
    end tell
    

    必须打开通用访问并且菜单导航也必须打开。如果菜单导航关闭,您需要键入 Control-F1 将其打开。您可以通过脚本执行此操作,但我不知道如何使用 AppleScript 来检查其状态。 F1 的键码是 122。

    【讨论】:

    • 感谢您的回复。但是该脚本在 Applescript 编辑器(运行)中不起作用。我得到了 ASCII 字符 31 的“错误号 -10004”。(我想实际显示菜单项。)
    • 显然您的设置与我的不同。它在这里完美运行。但我看你已经解决了。
    • 仅供参考。我在 MacBookPro 上使用日文 OS X 10.8.3 和日文键盘。还是谢谢 (^_^)/
    【解决方案3】:

    这对我点击菜单栏中运行的 VPN 应用程序很有用:

    tell application "System Events" to tell process "GlobalProtect"
        click menu bar item 1 of menu bar 2
    end tell
    

    因此,在 OP 案例中,将 "GlobalProtect" 替换为 "Finder" 并将 menu bar 2 替换为 menu bar 1 可能会使其工作......当我测试它时,它似乎没有在视觉上做任何事情,但它可能在后台做一些事情......也许进一步的按键或其他事情会做你想要的?

    【讨论】:

      【解决方案4】:

      试试这个。它使用一个函数而不是您当前使用的复杂的tell结构。

      tell application "Finder" to activate
      menu_click({"Finder", "View", "Arrange By", "Size"})
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多