Applescript显示Apple菜单栏项目

时间:2013-05-05 23:42:35

标签: applescript menubar

我是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:我试图张贴图片,但不允许。

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

您是否想要实际显示菜单项,即在打开菜单或对话框窗口中,或者您只想从菜单中选择菜单项?

如果您运行以下脚本,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。

答案 2 :(得分:-1)

这对我来说可以单击在菜单栏中运行的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可能会使它工作起来……看起来似乎没有任何作用当我对其进行测试时,但是它可能在后台执行操作……也许进一步的按键操作或某些功能可以满足您的需求?

答案 3 :(得分:-2)

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

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