есть тут такой интересный вопросик КАК СДЕЛАТЬ СКРИНШОРТ ЭКРАНА когда в системе не не одного пользователя ??? прога которя его должна делать работает как сервис
я использую вот такой код
bool CaptureScreenShort(void **HBitmap)
{
void *HDCScreen;
void *HDCCompatible;
int Width;
int Height;
> думаю проще всего будет воспользоваться функцией > PrintWindow (Win'XP+) либо внедрятся в каждый процесс и > слеть окнам WM_PRINT
но ведь по идеи на эртане всё равно есть окно.... как получить его хендел ???
а точьнее как опредилить что это главное окно ?
Нужно работать с оконными станциями... Я уже давно не лазил в эти виндовозные дебри, но идея примерно такая:24.03.06 07:47 Автор: HandleX <Александр М.> Статус: The Elderman
Для того, чтобы снять снимок с декстопа, в котором болтается виндовозная GINA (окно входа в систему), тебе экспериментальным путём нужно перечислить используя EnumWindowSations() рабочие станции в системе, запустить отдельный процесс в этой WindowStation, подключиться к текущему в этой рабочей станции Desktop, и снять там снимок экрана. Почитай Window Station and Desktop Reference в MSDN.
Не получится24.03.06 11:11 Автор: Killer{R} <Dmitry> Статус: Elderman
У невидимых окон (у тех что на неинтерактивном десктопе) пустые DC. Имеющие clipping region (0,0). Соответственно такие окна ничего никуда не рисуют как их не проси. Надо предоставить им нормальный DC куда рисовать.
Товаристч-автор корневого поста не говорит о том, что окна невидимые, он говорит о том, что на экране GINA. Видимая :)24.03.06 12:19 Автор: HandleX <Александр М.> Статус: The Elderman
Это значит что активен десктоп винлогон. А апликухи находятся на десктопе дефолт. Скрниншот неактивного десктопа НЕЛЬЗЯ снять обычным способом (те если внутри неактивного десктопа будет апликуха дергающая скриншоты она ниче оттуда не дернет).