Desidero ottenere l'elenco delle finestre per un'applicazione in esecuzione. È possibile ottenere l'elenco delle applicazioni in esecuzione da [[NSWorkspace sharedWorkspace] runningApplications]
, ma l'elenco delle finestre è disponibile solo su NSApplication
. C'è un modo per convertire da NSRunningApplication
a NSApplication
, o un modo per ottenere l'elenco delle finestre più direttamente?come ottenere windows di NSRunningApplication
risposta
È necessario guardare la chiamata CoreGraphics CGWindowListCopyWindowInfo
.
si chiamano in questo modo
CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);
e poi iterare la gamma di informazioni finestra, trovare quelli che sono dalla domanda che ti interessa e fare quello che vuoi con esso.
Hey Ken! Questa è una buona risposta/suggerimento, ma non dice ancora come ottenere 'CG/NSWindow' ;-)' NSRunningApplication' non fornisce il numero di finestre/finestre e sto andando in crash (probabilmente facendo qualcosa di sbagliato) quando provo per ottenere 'NS/CGWindow' con il mio' CGWindowID' ottenuto con 'CGWindowListCopyWindowInfo' –
Questo perché non è possibile creare una NSWindow per un'altra applicazione. Per quanto riguarda il recupero delle finestre per un'applicazione specifica, è possibile esaminare e confrontare il valore della chiave 'kCGWindowOwnerPID' alla proprietà' processIdentifier' di 'NSRunningApplication'. – mattsven
- 1. Ottenere la finestra principale di un'app tramite un'istanza NSRunningApplication
- 2. Acquisizione di NSRunningApplication utilizzando un numero di riferimento del processo
- 3. Come ottenere IBM Java 7 per Windows?
- 4. Come ottenere l'ordine z in Windows?
- 5. Come ottenere l'hardware indirizzo MAC su Windows
- 6. Come ottenere applicazioni in esecuzione in Windows?
- 7. Telefono Windows: come ottenere l'attuale ID applicazione
- 8. Come ottenere Windows 8 Live ID
- 9. come ottenere l'indirizzo MAC da Windows-mobile?
- 10. Come ottenere un elenco di sessioni di Windows?
- 11. Windows: come ottenere un elenco di tutte le finestre visibili?
- 12. Come ottenere un timestamp di file batch UNIVERSAL Windows
- 13. Come ottenere una miniatura del file utilizzando l'API di Windows?
- 14. Come ottenere il percorso della cartella dei caratteri di Windows?
- 15. Come ottenere l'attuale versione del sistema operativo di Windows Phone?
- 16. Come ottenere il nome utente di Windows in Java?
- 17. Come ottenere la cartella principale del batch di Windows
- 18. Come ottenere il tempo di attività del sistema in Windows?
- 19. Come ottenere il percorso di Windows con backslash da elisp
- 20. ottenere un nome messaggio di Windows
- 21. Ottenere Rspec + autotest su Windows
- 22. Come ottenere le date di creazione, accesso e modifica di file come le proprietà di Windows?
- 23. Ottenere CivicAddress su Windows Phone 8.1
- 24. Come ottenere feedback dall'API MediaCapture in Windows 8
- 25. Come ottenere l'utilizzo della cpu per thread su windows (win32)
- 26. Ottenere versione dell'applicazione Windows Phone 8
- 27. Come ottenere l'indirizzo IP dalla presa In Windows
- 28. Come posso ottenere informazioni sulla batteria in Windows?
- 29. Ottenere le applicazioni java per sembrare native su windows - come?
- 30. Come ottenere la piattaforma del dispositivo su Windows 10
Ecco la stessa domanda, già risposta: http://stackoverflow.com/questions/2107657/mac-cocoa-getting-a-list-of-windows-using-accessibility-api –
Anche qui http: // stackoverflow.com/questions/13759688/how-to-find-out-if-an-instance-of-my-app-is-already-running-or-not/13759928#13759928 –
L'elenco delle vedove significa più direttamente? –