![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ScreenShot [D6, Win95/98, WinME, NT4, Win2k, WinXP]
DeadMeat © (2004-08-10 18:38:00)Здрассте всем!
Нет это не вопрос про то, как снять скриншот с рабочего стола. Нет это вопрос про то, как снять скриншот с какого-либо окна. Все бы ничего, но сложность заключается в том, что это окно может перекрываться другим окном и при этом его изображение затирается.
Так вот вопрос - как получить изображение окна, даже если оно перекрыто другим окном?
DeadMeat (2004-09-01 17:50:00) [1]Крута!
Но там аж целый драйвер с собой таскать надо...
Я все же оставил вариант с внедрением... Но правда скорость тратится на само внедрение, но можно все сразу внедрить во все GUI процессы и вызывать уже оттуда...
---
...Death Is Only The Begining...
Sapersky (2004-09-01 12:34:00) [2]В WinXP есть некая ф-я PrintWindow (наверное, в GDI+).
Нашёл ещё реализацию с написанием своего драйвера, должна работать в Win2000:
http://www.aqua-soft.org/index.php/developers
http://expire.free.fr/board/index.php?showtopic=109
DeadMeat (2004-08-10 22:02:00) [3]
> [3] wicked © (10.08.04 20:22)
Спасиба... Почитал, перевел, проверил. Работает только со своим окном... Для чужого понадобилось внедрять *.DLL-ку.
Неужели нет других способов... без внедрения.
Просто для меня критична скорость снятия скриншота. Думал может можно способом типа BitBlt, но только своей процедуркой...
Никто так не делал?
---
...Death Is Only The Begining...
wicked (2004-08-10 20:22:00) [4]возможные альтернативы:
1. WM_PRINT....
2. WM_PAINT + WParam = HDC...
еще вариант - почитать на сайте Фень-Юаня (того самого) - http://www.fengyuan.com/article/wmprint.html
DeadMeat (2004-08-10 19:30:00) [5]Будет выглядеть немного странно, если через каждые, скажем 5 сек. список окон в системе будет переставляться...
У меня вот какая мысля родилась, мож подменить оконную процедуру, заставить отрисовать окно в мой битмап, а потом вернуть на место?
Что скажете? Просто проверять щас негде...
GuAV (2004-08-10 19:21:00) [6]А чем бы его не поставить поверх перед созданием скриншота. а после - вернуть на место...