2010-06-09 3 views
0

Dans le cadre d'un script InstallationCheck sur OS X, j'ai besoin d'utiliser des boîtes de dialogue finder pour permettre à l'utilisateur de rechercher des fichiers. Quand j'ai fini, je veux déplacer l'application de l'installateur de nouveau à l'avant afin que l'utilisateur puisse facilement continuer l'installation.Changement de focus de fenêtre sur OS X

J'ai déjà essayé simple:

tell application "Installer" to activate 

Cela ne fonctionne pas parce que tant que je suis dans le script de l'application du programme d'installation ne répond pas et lorsque je tente d'activer le AppleScript essaiera d'attendre Le programme d'installation répond, verrouillant le programme jusqu'à ce que le script InstallationCheck expire.

Donc, fondamentalement, j'ai besoin d'un moyen de se concentrer sur une application qui fonctionne même si elle ne répond pas. Y at-il un moyen de le faire soit à partir d'un applescript ou directement à partir du script Perl?

Répondre

3

essayer

ignoring application responses 
    tell application "Installer" to activate 
end ignoring 

vous pouvez également essayer quelque chose comme ça

tell application "System Events" 
    set installer to application file of application processes whose name is "Installer" 
end tell 
tell application "Finder" to open installer 
+0

Cela ne l'empêche en effet de se verrouiller, mais si l'application ne répond pas activer ne fonctionne toujours fait rien. Utile comme sécurité si vous ne savez pas dans quel état l'application est je devine mais ne devrait pas y en avoir: 'tell application' Finder "pour déplacer l'application" Installateur "devant"? – MatsT

+0

notez que le deuxième bit de code suppose qu'il y a une application avec ce nom en cours d'exécution – mcgrailm

+0

Cela semble ne rien faire du tout, peu importe si l'application est réactive ou ne répond pas, ou ne fonctionne pas du tout. – MatsT