Скриншот окна
-
05-07-2019 - |
Вопрос
Я пытаюсь сделать скриншоты всех открытых окон, в том числе свернутых. В настоящее время я использую этот код: http://www.developerfusion.com/code/4630/capture -a-скриншот / р>
Но это не работает для свернутых окон и областей, где присутствует эффект «Стекло», поскольку Vista, такая как строка заголовка проводника, черная. Кто-нибудь может мне помочь?
Моя цель - создать что-то похожее на Flip 3D; было бы замечательно, если бы кто-то также знал о том, как создать живой предварительный просмотр.
Решение 2
Я нашел API, который используется для предварительного просмотра панели задач a.s.o.
Довольно круто, он даже позволяет делать живые превью!
Другие советы
Для областей со стеклянным эффектом: я думаю, что это не работает, потому что эти области могут быть нарисованы каким-то странным методом DirectX вместо обычного GDI.
Для проблемы свернутых окон: если окно свернуто, его DC не окрашивается (концептуально, у него даже нет причин для существования); Вы должны попытаться отправить в такие окна сообщение WM_PRINT с просьбой нарисовать себя на DC, который вы им предоставите. Проблема с этим подходом состоит в том, что не все окна обрабатывают правильно WM_PRINT.