2009-10-13 4 views
5

Comment puis-je obtenir une liste des applications en cours d'exécution dans le même ordre qu'elles apparaissent lorsque vous faites ⌘ + ⇥ depuis un applescript?Applescript - liste toutes les applications en cours d'exécution

I.e. si j'utilise TextEdit, puis Aperçu, puis iCal, l'ordre est

iCal, Aperçu, TextEdit

This question qui a demandé s'il y avait une API qui pourrait produire cette liste à condition que cette réponse:

$ cd /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework

$ nm LaunchServices | grep __LSCopyApplicationArrayInFrontToBackOrder

Mais comment puis-je accéder à cette liste depuis un applescript?

Répondre

5

tell application "System Events" to get name of every process

Il semble triés par date de lancement pour moi, mais je ne sais pas si cela est fiable ou non. En ce qui concerne l'utilisation de la réponse de SO: vous devez créer un petit programme (ou OSAX) dans (Objective) -C pour accéder à cette routine, rendre le programme scriptable, puis appeler ce programme/OSAX à partir de votre script.

+1

Ceci est certainement pas une liste d'applications triées par commande onglet. Ce n'est même pas une liste d'applications; c'est une liste de processus de bas niveau, comme les événements système. –

5

Je ne sais pas que la façon de les commander Mais cette liste des applications qui ne sont pas arrière-plan uniquement

tell application "System Events" to get the name of every process whose background only is false