Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

ScreenShot   Найти похожие ветки 

 
DeadMeat ©   (2004-08-10 18:38) [0]

Здрассте всем!
Нет это не вопрос про то, как снять скриншот с рабочего стола. Нет это вопрос про то, как снять скриншот с какого-либо окна. Все бы ничего, но сложность заключается в том, что это окно может перекрываться другим окном и при этом его изображение затирается.
Так вот вопрос - как получить изображение окна, даже если оно перекрыто другим окном?


 
GuAV ©   (2004-08-10 19:21) [1]

А чем бы его не поставить поверх перед созданием скриншота. а после - вернуть на место...


 
DeadMeat ©   (2004-08-10 19:30) [2]

Будет выглядеть немного странно, если через каждые, скажем 5 сек. список окон в системе будет переставляться...
У меня вот какая мысля родилась, мож подменить оконную процедуру, заставить отрисовать окно в мой битмап, а потом вернуть на место?
Что скажете? Просто проверять щас негде...


 
wicked ©   (2004-08-10 20:22) [3]

возможные альтернативы:
1. WM_PRINT....
2. WM_PAINT + WParam = HDC...

еще вариант - почитать на сайте Фень-Юаня (того самого) - http://www.fengyuan.com/article/wmprint.html


 
DeadMeat ©   (2004-08-10 22:02) [4]


> [3] wicked ©   (10.08.04 20:22)

Спасиба... Почитал, перевел, проверил. Работает только со своим окном... Для чужого понадобилось внедрять *.DLL-ку.
Неужели нет других способов... без внедрения.
Просто для меня критична скорость снятия скриншота. Думал может можно способом типа BitBlt, но только своей процедуркой...
Никто так не делал?

---
...Death Is Only The Begining...


 
Sapersky   (2004-09-01 12:34) [5]

В WinXP есть некая ф-я PrintWindow (наверное, в GDI+).
Нашёл ещё реализацию с написанием своего драйвера, должна работать в Win2000:
http://www.aqua-soft.org/index.php/developers
http://expire.free.fr/board/index.php?showtopic=109


 
DeadMeat ©   (2004-09-01 17:50) [6]

Крута!
Но там аж целый драйвер с собой таскать надо...
Я все же оставил вариант с внедрением... Но правда скорость тратится на само внедрение, но можно все сразу внедрить во все GUI процессы и вызывать уже оттуда...

---
...Death Is Only The Begining...



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
4-1094300672
DeepProg
2004-09-04 16:24
2004.10.10
Таймер, устойчивый при полной загрузке процессора


6-1091728035
Лёва З.
2004-08-05 21:47
2004.10.10
Кодировка сообщений в TNMSMTP


1-1096194542
zaycev
2004-09-26 14:29
2004.10.10
Вопрос по поводу ограничения строковых переменных в 255 символов


4-1094144591
Einstein
2004-09-02 21:03
2004.10.10
Окно на WinApi


1-1096123353
appendix
2004-09-25 18:42
2004.10.10
фиксированная колонка в StringGrid