AppleScript: как запустить приложение и затем выполнить команду меню - PullRequest
2 голосов
/ 22 ноября 2010

Я пытаюсь создать небольшой яблочный скрипт, который запустит приложение DVD-плеер и затем изменит его размер до фактического размера. Код указан ниже. Когда я запускаю код, DVD-плеер запускается, но не меняет размер окна. Чего мне не хватает, чтобы заставить это работать?

Спасибо, Rob

 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 ]

2 голосов
/ 22 ноября 2010

Вы смотрели словарь для 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

Это то, что вы хотели сделать?

0 голосов
/ 22 ноября 2010

Я не перед Mac, поэтому не могу по-настоящему протестировать ваш код, но я предлагаю попробовать существующую и проверенную реализацию той же функциональности, которая использует рекурсию, а не вложение:

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


Также возможно, что ваш delay 3 недостаточно длинный для полной загрузки приложения DVD-плеера, прежде чем вы начнете пытаться создавать сценарии событий меню.Вы можете попробовать отладить это, запустив два отдельных сценария и посмотреть, работает ли ваш код активации меню после загрузки приложения DVD-плеер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...