2010-11-22 6 views
2

J'essaie de créer une petite appli qui lancera l'application Lecteur de DVD puis la redimensionnera à sa taille réelle. Le code est répertorié ci-dessous. Lorsque je lance le code, le lecteur DVD se lance mais ne redimensionne pas la fenêtre. Qu'est-ce qui me manque pour que ça marche?AppleScript: Comment lancer une application puis exécuter une commande de menu

Merci, 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 

Répondre

2

Avez-vous regardé le dictionnaire pour DVD Player? Il existe des propriétés pour ajuster la taille.

Cela ouvrira et le plein écran:

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

Ou il est la propriété de la taille du spectateur qui indique: taille du spectateur (moitié/normal/double/max): Pour définir la taille du spectateur

Ainsi, vous pouvez l'utiliser pour aller à la taille réelle:

Est-ce ce que vous vouliez faire?

+0

+1 pour la suggestion Dictionnaire. –

+0

Mason - Merci pour l'aide et les connaissances sur le dictionnaire AppleScript – calmcajun

+0

De rien. –

0

Je ne suis pas en face d'un Mac, donc je ne peux pas vraiment tester votre code, mais ma suggestion est d'essayer un existant et la mise en œuvre éprouvée de la même fonctionnalité, qui utilise récursion plutôt que de nidification:

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


Il est également possible que votre delay 3 n'est pas assez longtemps pour que la L'application Lecteur de DVD doit se charger complètement avant de commencer à essayer les événements de menu de script. Vous pouvez essayer de déboguer ceci en exécutant deux scripts séparés et voir si votre code d'activation de menu fonctionne une fois que l'application DVD Player est chargée.

Questions connexes