AppleScript:如何启动应用程序然后执行菜单命令

时间:2010-11-22 05:01:51

标签: applescript

我正在尝试创建一个小的AppleScript,它将启动DVD播放器应用程序,然后将其调整为实际大小。代码如下所示。当我运行代码时,DVD播放器启动,但它不会调整窗口大小。为了让这个工作,我错过了什么?

谢谢, 罗布

 do_menu("DVD Player", "View", "Actual Size")

on do_menu(app_name, menu_name, menu_item)
    try
        -- bring the target application to the front
        tell application app_name
            activate
        end tell
        delay 3
        tell application "System Events"
            tell process app_name
                tell menu bar 1
                    tell menu bar item menu_name
                        tell menu menu_name
                            click menu item menu_item
                        end tell
                    end tell
                end tell
            end tell
        end tell
        return true
    on error error_message
        return false
    end try
end do_menu

2 个答案:

答案 0 :(得分:2)

你看过DVD播放器的字典吗? 有调整大小的属性。

这将打开它并全屏显示:

tell application "DVD Player"
   open
   delay 2
   set viewer full screen to true
end tell

或者有查看器大小属性,其中指出: 查看器大小(一半/正常/双/最大):设置查看器大小

所以你可以用它来转到实际尺寸:

tell application "DVD Player"
   open
   delay 2
   set viewer size to normal
end tell

那是你想做的吗?

答案 1 :(得分:0)

我不在Mac前面,所以我无法真正测试你的代码,但我的建议是尝试使用递归而不是嵌套的相同功能的现有且经过验证的实现:

http://hints.macworld.com/article.php?story=20060921045743404


在您开始尝试编写菜单事件脚本之前,您的delay 3也可能不足以让DVD播放器应用程序完全加载。您可以尝试通过运行两个单独的脚本来调试此操作,并在加载DVD播放器应用程序后查看菜单激活代码是否有效。