Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
1-1096006472
Kniaz
2004-09-24 10:14
2004.10.10
копирование файла


14-1095669902
Карелин Артем
2004-09-20 12:45
2004.10.10
Галлы vs Римляне. Было ли такое?


1-1095862935
Cosinus
2004-09-22 18:22
2004.10.10
ComponentCount (Components[i])... Как формируется?


3-1094836526
BigError
2004-09-10 21:15
2004.10.10
MySQL: VarChar -> Decimal


3-1094789320
Mefodiy
2004-09-10 08:08
2004.10.10
Использование UCASE в SQL запросе




   Наверх