mi piacerebbe ottenere l'elenco delle applicazioni in esecuzione nello stesso ordine in cui appaiono quando si fa ⌘ + ⇥Ottenere l'elenco delle applicazioni in esecuzione in ordine di ultimo utilizzo
Vale a dire se uso TextEdit, quindi Anteprima, quindi iCal, l'ordine è
- iCal
- Anteprima
- TextEdit
Utilizzando [[NSWorkspace sharedWorkspace] launchedApplications]
non funziona come le applicazioni sono ordinati per data di lancio/id di processo. Enumerare con GetNextProcess
non funziona come è anche ordinato da pid.
La registrazione per le notifiche e il mantenimento di un elenco non è un'opzione, poiché è necessario conoscere l'elenco subito dopo l'avvio dell'applicazione. Bene, il primo elemento della lista sarebbe abbastanza in realtà, ma penso che sia più o meno la stessa domanda.
C'è qualche API disponibile per ottenere queste informazioni?
Ottimo, funziona esattamente come previsto. È un peccato che non venga come un'API LaunchServices documentata – 0xced
Ed ecco come utilizzare _LSCopyApplicationArrayInFrontToBackOrder in modo sicuro: http://gist.github.com/163918 – 0xced