![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с PrintScreen [D7, Win2k, WinXP]
al_mt © (2005-06-03 11:38:00)Здравствуйте!
Проблема. Делаю снимок экрана посредством GetDC(0) - если на экране есть окна с прозрачностью, то такие окна на снимке НЕВИДИМЫ! :(
Когда эмулирую нажатие на принтскрин - всё работает, но у меня в проге на кнопке PrintScreen висит хук с собственным обработчиком - результат, ничего не работает.. ;((((
Вопрос: как бороться?? Может можно обратиться напрямую к видеопамяти? Или у WinAPI есть функция выполняющая человеческий принтскрин??
alpet (2005-06-03 20:48:00) [1]Не знаю как GDIplus, но возможно поможет UpdateLayeredWindow по отношению к видимым полупрозрачным окнам.
Kerk (2005-06-03 19:54:00) [2]В сторону GDI+ копай
alpet (2005-06-03 19:43:00) [3]>как бороться??
Методом поиска решения
>Может можно обратиться напрямую к видеопамяти?
Можно, либо с помощью видеодрайвера, либо с помощью DirectX.
> Или у WinAPI есть функция выполняющая человеческий принтскрин??
Вполне вероятно, но я о такой не знаю. Код приведеный в MSDN во всяком случае ей не соответствует (используется функция CreateDC, но результат тот же).
У тебя есть два варианта:
1. Передавать все-таки VK_SNAPSHOT, не смотря на свой хук системе, и через некоторое время копировать изображение из буфера.
2. Самостоятельно пытаться выполнить отрисовку окон с применением прозрачности, что довольно сложная задача.