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


Автор: chaos 26.6.2008, 11:02
День добрый!
Встала задача получить скрин с неативного дестопа созданного с помощью CreateDesktop.
для начала попробовал написать нечто:

Код

for (int i = 0; i < 1024; i++) 
    for (int j = 0; j < 1024; j++)
        GetPixel(i,j);


и запустил эту программу на ранее созданном десктопе. десктоп активным не делал.
GetPixel во всех точках вернул -1.
запуская на активном десктопе получаю нормальные значения цветов.

вопрос: как можно снять скрин с неактивного десктопа. Может как-то можно попросить что бы он отрисовался в какой-нибудь контекст, а уж потом получить данные?

Заранее благодарен за любую помощь!


Автор: 586 26.6.2008, 14:23
Цитата(chaos @  26.6.2008,  12:02 Найти цитируемый пост)
как можно снять скрин с неактивного десктопа.

Можно попробовать создать поток, вызвать функцию SetThreadDesktop для этого потока, и делать скриншот как на обычном десктопе в этом потоке. Это только идея. Как будет работать - не знаю.

Автор: chaos 26.6.2008, 14:40
Цитата(586 @ 26.6.2008,  11:23)
Цитата(chaos @  26.6.2008,  12:02 Найти цитируемый пост)
как можно снять скрин с неактивного десктопа.

Можно попробовать создать поток, вызвать функцию SetThreadDesktop для этого потока, и делать скриншот как на обычном десктопе в этом потоке. Это только идея. Как будет работать - не знаю.

ну сейчас я делаю практически тоже саме - запускаю программу снятия скрина на неактивном десктопе

Автор: chaos 29.8.2008, 07:06
тема все еще акутальна!

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