Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Скриншот

33K
09 февраля 2011 года
hivewarrior
205 / / 16.11.2010
Пытаюсь делать скриншот десктопа/приложения. Все работает отлично. Код:
 
Код:
BitBlt(Bitmap->Canvas->Handle,0,0,Bitmap->Width,Bitmap->Height,GetDC(NULL),0,0,SRCCOPY);


Но возникает маленький нюанс. Данная программа запускается через RDC на другой машине и тоже работает отлично, пока есть коннект через RDC, после отключения (не логоффа) скриншоты продолжают сниматься, но вместо всего просто белый экран. В принципе догадываюсь почему, машина просто отключает графическую карточку для энергосбережения и туда ничего не пишется.

Пробовал рисовать форму прямо в канву с помощью PaintTo(TCanvas,int,int), и это работало бы, если бы не одно но. В данном приложении создается Ole объект, который упорно не хочет лезть в скриншот, что вполне логично. Другой PaintTo(HDC*,int,int) тоже отказывается работать.

Пробовал этот Ole-объект насильно заставить рисоваться, дергая его hwnd и так далее. Тоже хорошего ничего не вышло.

Кто-нибудь, подскажите как быть.
33K
09 февраля 2011 года
hivewarrior
205 / / 16.11.2010
Тема более не актуальна, решил шаманством с IViewObject и другими вещами, можно закрывать.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог