FAQ6

SUJET :
Mettre l'avant dernière application lancée au premier plan.

QUESTION :
Stop, je suis allé trop vite dans mon dernier message : ca marche dans Applescript lors de la création du script, mais c'est tout. Je créé mon script en entrant uniquement la commande : type text "essai" puis je le sauvegarde en exécutable.
Je lance Explorer et je vais sur un formulaire quelconque, je clique pour positionner mon curseur dans le champ voulu, je lance l'exécutable correspondant : bernique.
Où est-ce que je me plante ?

Didier

REPONSE :
Effectivement je ne l'utilisais que pour simuler des commandes claviers, pas pour écrire du texte. Pour écrire du texte il faut que l'application qui recevra le texte soit au premier plan. Si on connait l'application c'est assez simple, il faut mettre :
tell application "Untel" to activate
avant le type text. par contre, si on ne connait pas l'application d'avance, il faut utiliser une formule comme celle-ci:
tell application "Finder"
set The_apps to name of every application process
end tell
count item in The_apps
tell application (item (result - 1) of The_apps)
activate
end tell
qui permet de savoir l'application qui a été lancé avant le script. C'est aussi une limite : ce sera toujours l'application lancée en dernier, ce qui veut dire que si l'application est appelée par le menu application, et que celle-ci n'est pas la dernière à avoir été lancée, cela ne marche pas puisque ce ne sera pas celle-ci qui sera activée... il suffit de le savoir.