Schermata della finestra
-
05-07-2019 - |
Domanda
Sto cercando di acquisire schermate di tutte le finestre aperte, anche di quelle ridotte a icona. Attualmente sto usando questo codice: http://www.developerfusion.com/code/4630/capture -a-screen-shot /
Ma non funziona per le finestre ridotte a icona e le aree in cui è presente un effetto Glass poiché Vista, come la barra del titolo di Explorer, è nera. Qualcuno può darmi una mano?
Il mio obiettivo è creare qualcosa di simile a Flip 3D; sarebbe bello se qualcuno sapesse anche qualcosa su come creare un'anteprima dal vivo.
Soluzione 2
Ho trovato l'API utilizzata per le anteprime della barra delle applicazioni a.s.o .:
Panoramica delle miniature DWM
Abbastanza fantastico, ti permette persino di fare anteprime dal vivo!
Altri suggerimenti
Per le aree con effetto vetro: penso che non funzioni perché quelle aree possono essere disegnate con uno strano metodo DirectX invece del normale GDI.
Per il problema di Windows minimizzato: se una finestra è minimizzata, il suo DC non è dipinto (concettualmente, non ha nemmeno un motivo per esistere); dovresti provare a inviare a tali finestre un messaggio WM_PRINT, chiedendo loro di dipingersi sul DC che fornirai loro. Il problema con questo approccio è che non tutte le finestre gestiscono correttamente WM_PRINT.