Domanda

C'è qualcosa di simile a GetForegroundWindow su Mac OS X?

Ho due applicazioni uno con finestra (NSDocument based) e di una linea di comando che voglio mostrare un NSOpenPanel da strumento a riga di comando e vorrei renderlo modello per l'applicazione basata NSDocument, ma non hanno la windowref per questo?

È stato utile?

Soluzione

Ci sono alcuni problemi con ciò che si desidera.

Prima di tutto, le applicazioni sul Mac non hanno riferimenti finestra. Un'applicazione può avere un qualsiasi numero di finestre. In secondo luogo, l'accesso alle finestre di altri processi è limitata in Mac OS X. Ci sono alcune API per l'accesso ai loro in modi diversi. In ogni caso, avere un riferimento alla finestra di un'altra applicazione non vi permetterà di vomitare le finestre di dialogo modale per tale applicazione.

Ciò che si desidera è di avere l'applicazione a riga di comando comunicare con l'applicazione in primo piano per dirgli di mostrare il pannello aperto. Si potrebbe o stabilire il proprio protocollo di comunicazione (ad esempio attraverso gli oggetti distribuiti) oppure è possibile utilizzare Apple Event / AppleScript per comunicare avanti e indietro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top