2 votes

Comment maintenir le focus sur une fenêtre d'application avec AppleScript ?

J'essaie de lancer mon application de scanner en utilisant AppleScript. J'ai réussi à lancer l'application Imprimante et je sais comment envoyer la commande de frappe, mais lorsque la fenêtre Imprimante s'ouvre, elle n'a pas le focus dans le Finder, de sorte que la frappe que j'envoie ne fonctionne pas, à moins que la fenêtre Imprimante ne soit déjà ouverte et en focus. Comment faire pour que le Finder mette l'accent sur ma fenêtre afin qu'elle entende la frappe ?

Voici mon code :

tell application "System Events"
  tell application "Canon MX510 series" to activate
  key code 20 using command down
end tell

1voto

Tetsujin Points 95239

Essayez d'envoyer la commande Activate en dehors du System Event tell, ce serait la méthode standard.

tell application "Canon MX510 series" to activate
my testAppRunning()
tell application "System Events"    
    key code 20 using command down
end tell

on testAppRunning()
    set test to 0
    repeat while test = 0
        log test
        tell application "System Events" to set test to count (every process whose name is "Canon MX510 series")
        delay 2
        --/*we do this even if active because it doesn't naturally come to front*/
        try
            tell application "Canon MX510 series" to activate
        end try
        if (test > 0) then exit repeat
    end repeat
end testAppRunning

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X