Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Скриншот области которая находится под окном


Автор: ecspertiza 25.6.2014, 14:30
Добрый день, заметил что на форуме уже всплывала эта тема. Но подходящего ответа для себя не нашел. Мне необходимо получать область экрана которая находится под моим окном. Вроде как стандартные ф-ции решают эту проблему, я могу перебрать все окна которые находятся под моем окном получить снимок каждого из них и радоваться жизни. Но код становиться не рабочим если окна которые я должен получить отрисовываются с помощью directX, что на данный момент уже стало популярно(это почти любой браузер). Я нашел в сети код который может получать снимки окна directX но, почему то он снимает целиком все что есть на мониторе, отдельные окна снять нельзя. Подскажите есть ли выход из этой ситуации ? 

Код

PrintWindow


тоже не помогает. DirectX окна с ним не отрисовываются.

Автор: Dem_max 26.6.2014, 18:30
Цитата

Я нашел в сети код который может получать снимки окна directX

Можно ссылку на код ?

Автор: ecspertiza 30.6.2014, 23:09
Да, вот тут с примерами 

http://www.codeproject.com/Articles/5051/Various-methods-for-capturing-the-screen

Автор: Dem_max 1.7.2014, 05:53
Цитата

Я нашел в сети код который может получать снимки окна directX но, почему то он снимает целиком все что есть на мониторе


Раз такое дело можно сделать так, раз снимает весь экран, то по свойству окна получай его координаты и размеры потом делай копирования этой области из снимка экрана в новый Image и получится у тебя конкретно снимок окна.

Автор: ecspertiza 1.7.2014, 09:19
Цитата(ecspertiza @  25.6.2014,  14:30 Найти цитируемый пост)
Мне необходимо получать область экрана которая находится под моим окном.


Если я сделаю как вы говорите, то я получу снимок своего окна. Мне требуется то, что находится под ним. Из исследований стало ясно, что в винде это сделать не возможно. Поэтому задача решилась другим способом.

Автор: EgoBrain 3.7.2014, 03:34
Цитата(ecspertiza @ 1.7.2014,  09:19)
Поэтому задача решилась другим способом.

Это прикол такой, не указыать на решение?
Давай выкладывай.

Автор: ecspertiza 10.7.2014, 14:29
Цитата(EgoBrain @  3.7.2014,  03:34 Найти цитируемый пост)
Это прикол такой, не указыать на решение?


Просто решения как такового нет. Пришлось поработать над дизайном и переместить некоторые окна, что бы они не находились в области скриншота. Вот и все.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)