2014-09-09 1 views
0

J'essaie de faire fonctionner Applescript avec VoiceOver pour faire apparaître une boîte de dialogue demandant de quitter l'application en cours. J'ai réussi à en faire fonctionner un mais ça ne marche que quelques fois. Je crois que c'est à cause de problèmes de mémoire dans certaines applications, c'est pourquoi il y a un retard. J'ai essayé de dire à l'application «la plus en avant» de quitter et ça n'a pas marché non plus.Boîte de dialogue Applescript pour quitter l'application en cours

display dialog "Quit current application?" buttons {"cancel", "ok"} default button   "ok" 
    if result = {button returned:"ok"} then 
     delay 1.7 

     tell application "System Events" to key code 12 using command down 

    else if result = {button returned:"cancel"} then 

    end if 

Répondre

0

Voir si ce qui suit fonctionne mieux. Pas besoin de trucs d'interface utilisateur, comme la grande majorité des applications le comprendront, ou répondront à la commande Quitter. La première chose que je fais est d'obtenir le processus le plus en avant (le chemin file, en fait, ce qui est plus sûr pour certaines applications - comme NeoOffice, par exemple - c'est-à-dire, plus sûr que d'obtenir le name).

tell application "Finder" to set p to item 1 of (get file of (processes whose frontmost = true)) as text 

display dialog ("Quit current application?" & return & "(" & p & ")") buttons {"cancel", "ok"} default button 2 

if button returned of (result) = "ok" then 
    tell application p to quit 
end if 
+0

Merci, cela fonctionne parfaitement. – Elias

Questions connexes