AppleScript > choisir une application parmi une liste

Clarusad

Membre actif
5 Février 2004
393
9
Bonjour à tous,

Depuis quelques jours je me casse la tête à faire fonctionner un AppleScript, mais en vain !

J'aimerais obtenir une liste des applications ouvertes qui ont au moins une fenêtre (ça c'est ok), puis choisir un nom de processus dans cette liste (ça aussi c'est ok) et le quitter.
C'est cette dernière étape qui coince.

Après bien des essais, j'ai réussi à savoir que ce qui est dans ma liste n'est qu'une suite de noms (d'applications); mais pas une liste d'applications !

Je ne sais pas si je suis très clair, en fait je n'arrive pas à faire comprendre à AppleScript que chaque item de ma liste correspond à une application. En effet, ApplScript me retourne : "Impossible de transformer "iCal" en type Application".

Quelqu'un pourrait-il m'aider ?
En vous remerciant pour vos réponses.

Voici le script:
Bloc de code:
tell application "System Events" to set allApps to ¬
	name of every application process whose file type is "Appl"
set listeApps to {}
repeat with nomApp in allApps
	tell application "System Events" to tell process nomApp to set nbrFenetres to count (every window)
	if nbrFenetres > 0 then set listeApps to listeApps & nomApp
end repeat
set choixApp to choose from list listeApps with prompt "Choisir une application à quitter"
set choixAppQuit to (first item of choixApp)
tell application "System Events" to quit choixAppQuit
 
Salut,

J'ai apporté quelques petites modifications à ton script et il fonctionne bien…

Bloc de code:
tell application "System Events" to set allApps to ¬
	name of every application process whose visible is true --permet de  ne lister que les applications visibles (t'avais compris je suppose…)
set listeApps to {}
repeat with nomApp in allApps
	tell application "System Events" to tell process nomApp to set nbrFenetres to count (every window)
	if nbrFenetres > 0 then set listeApps to listeApps & nomApp
end repeat
set choixApp to choose from list listeApps with prompt "Choisir une application à quitter"
set choixAppQuit to (first item of choixApp)
tell application choixAppQuit to quit --on appelle directement l'application à quitter
;)