| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Скриншот экрана под окном |
| Автор: kazerxxx 30.7.2012, 14:34 |
| Здравствуйте! Мне нужно снять область экрана ПОД окном. Как это реализовать? |
| Автор: bsa 30.7.2012, 14:48 |
| ОС какая? Windows? |
| Автор: kazerxxx 30.7.2012, 15:43 | ||
Да,конечно. |
| Автор: Amp 30.7.2012, 16:25 |
| Скрыть/свернуть окно, сделать скриншот области под окном, восстановить его. |
| Автор: kazerxxx 30.7.2012, 16:34 | ||
Такой вариант не подходит, т.к. нужно очень часто получать изображение. |
| Автор: Amp 30.7.2012, 17:03 |
| Оконные менеджеры сейчас композитные. То есть окна независимо друг от друга отрисовываются в буферы (в текстуры, если аппаратное ускорение) и затем производится композиция всего этого хозяйства - окна накладываются друг на друга, применяются эффекты, прозрачность, рисуются тени. Desktop Window Manager (DWM) позволяет получать доступ к миниатюрам окон, погляди reference по нему - может можно получить доступ к регионам на определенном этапе отрисовки. Но этот API появился только начиная с Vista. Еще из теоретических вариантов - сделать целевое окно полностью прозрачным и опять же снимать скриншоты того региона. |
| Автор: GremlinProg 31.7.2012, 08:23 |
перебирать все окна верхнего уровня кроме заданного и посылать им WM_PRINT не пробовал? соответственно, включая все сопутствующие дочерние окна |
| Автор: kazerxxx 31.7.2012, 13:50 |
| Спасибо за ответы. Пошёл копаться. |