Come posso acquisire uno screenshot di una singola finestra utilizzando Cocoa o Carbon su OS X?[Chiuso]
-
23-08-2019 - |
Domanda
Devo essere in grado di identificare una singola finestra sullo schermo dell'utente e catturarne uno screenshot.I dati dello schermo devono essere archiviati in memoria e non scritti su disco.
Questo è già supportato tramite lo strumento a riga di comando /usr/sbin/screencapture o tramite l'utilità Grab (sebbene la loro funzionalità non sia sufficientemente estesa da giustificarne il lancio come sottoprocesso).
Riferimenti/suggerimenti
- nm /usr/sbin/screencapture restituisce le interfacce Cocoa private incluso _CGSGetSharedWindow che sembrano fare questo.
- L'applicazione di terze parti Snapzpro fa questo (ma non fornisce il codice sorgente)
Soluzione
Mac OS X 10.5 ha introdotto il API dei servizi finestra Quartz fare proprio questo.
Altri suggerimenti
La prima cosa che mi è venuta in mente è stata GrabFS di MacFuse.La fonte è Qui.
Comando+Maiusc+4 per attivare la selezione dello screenshot, quindi tocca la barra spaziatrice per selezionare l'intera finestra.