Вот возник вопрос как висте делаются скришоты окон? PrintWindow конечно работает НО она подгружает приложение постоянным перерисовками. кто нить разбирался?
Здравствуйте, Аноним, Вы писали:
А>Вот возник вопрос как висте делаются скришоты окон? PrintWindow конечно работает НО она подгружает приложение постоянным перерисовками. кто нить разбирался?
А почему вопрос именно про Висту? Разве в ней нельзя, как и в предыдущих версиях, получить HDC окна и скопировать изображение (BitBlt) в свой подготовленный контекст?
Здравствуйте, dmitry_npi, Вы писали:
_>Здравствуйте, Аноним, Вы писали:
А>>Вот возник вопрос как висте делаются скришоты окон? PrintWindow конечно работает НО она подгружает приложение постоянным перерисовками. кто нить разбирался?
_>А почему вопрос именно про Висту? Разве в ней нельзя, как и в предыдущих версиях, получить HDC окна и скопировать изображение (BitBlt) в свой подготовленный контекст?
перекрытые окна или минимизированые не скриншотятся
Здравствуйте, Аноним, Вы писали:
_>>А почему вопрос именно про Висту? Разве в ней нельзя, как и в предыдущих версиях, получить HDC окна и скопировать изображение (BitBlt) в свой подготовленный контекст?
А>перекрытые окна или минимизированые не скриншотятся
Они и раньше не скриншотились. Через BitBlt, по крайней мере.
Re[4]: Как Vista делает скриншоты
От:
Аноним
Дата:
25.05.09 06:15
Оценка:
Здравствуйте, CEMb, Вы писали:
CEM>Здравствуйте, Аноним, Вы писали:
_>>>А почему вопрос именно про Висту? Разве в ней нельзя, как и в предыдущих версиях, получить HDC окна и скопировать изображение (BitBlt) в свой подготовленный контекст?
А>>перекрытые окна или минимизированые не скриншотятся
CEM>Они и раньше не скриншотились. Через BitBlt, по крайней мере.
это все решаемо чере принтвиндоу НО если вызвать достаточно часто это подгружает процессор. докапался что можно делаю привьюхи как в висте через DWM но как же они их так корректно делают :/
Hello!
А>это все решаемо чере принтвиндоу НО если вызвать достаточно часто это подгружает процессор. докапался что можно делаю привьюхи как в висте через DWM но как же они их так корректно делают :/
Делают через DwmRegisterThumbnail/DwmUpdateThumbnailProperties. Функции эти убоги тем, что выводят превьюхи только в видимое окно, на d3d-текстуру получить их нельзя.
И все не так уж и корректно.
Посмотрите например на WinAmp.
А>Вот возник вопрос как висте делаются скришоты окон? PrintWindow конечно работает НО она подгружает приложение постоянным перерисовками. кто нить разбирался?
Встроенная фича desktop composition (читай — aero). Окна в висте рисуются нынче на DirectX поверхностях и мержяться фактически рендеряться на экран процессом dwm.exe. И в принципе ему ниче не стоить отрендерить их куда нить еще. Для чего в висте изобрели новое АПИ — http://msdn.microsoft.com/en-us/library/aa969541(VS.85).aspx