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

Вниз

Как получить полный скриншот экрана   Найти похожие ветки 

 
kami ©   (2005-05-10 21:45) [0]

Имеется ввиду вместе с курсором мыши, подсказками от "запуздыренных" иконок и т.п.
Стандартное BitBLT(myBMP.Canvas.Handle,....,DC(0)) этого не делает :(


 
alpet ©   (2005-05-11 11:21) [1]

Имхо для этого надо писать драйвер, что бы иметь прямой доступ к видеопамяти.


 
Eraser ©   (2005-05-11 12:52) [2]

kami ©

Курсор мыши не перехватывается, его надо специально получать какой-то API, а затем накладывать на изображение (так в VNC сделано), а подсказки не перехватываются, потому что они полупрозрачные... имхо забей на них )


 
_silver ©   (2005-05-11 17:40) [3]

kami ©   (10.05.05 21:45)
Имеется ввиду вместе с курсором мыши

BitBlt
GetCursorPos
GetCursor
SetCursor
DrawIconEx

> а подсказки не перехватываются, потому что они
> полупрозрачные... имхо забей на них )

а вот не надо...:)


 
Eraser ©   (2005-05-11 17:44) [4]

_silver ©
а вот не надо...:)


Стандартные виндовозовские подсказки (в Пуске например) 100 пудово не перехватываются, как и прозрачные окна.


 
_silver ©   (2005-05-11 17:46) [5]

Eraser ©   (11.05.05 17:44) [4]
Стандартные виндовозовские подсказки (в Пуске например) 100 пудово не перехватываются, как и прозрачные окна.

Они же, как то рисуются:)


 
Eraser ©   (2005-05-11 17:49) [6]

_silver ©
Они же, как то рисуются:)


Даже известно как, при помощи GDI+. Но про то как рисуются это отдельный разговор... ))

А с помощью BitBlt их не перехватишь.


 
_silver ©   (2005-05-11 17:52) [7]

Eraser ©   (11.05.05 17:49) [6]
А с помощью BitBlt их не перехватишь.

А не было разоговора, что это надо сделать с помощью
BitBlt.


 
Eraser ©   (2005-05-11 17:55) [8]

_silver ©

А.. ну да!


 
Marser ©   (2005-05-11 17:56) [9]


> Eraser ©   (11.05.05 17:49) [6] [Новое
>сообщение][Ответить]
>_silver ©
>Они же, как то рисуются:)
>
> Даже известно как, при помощи GDI+.

Прикольно... В 95-й Винде тоже GDI+ использовался? :-)


 
_silver ©   (2005-05-11 18:01) [10]

Marser ©   (11.05.05 17:56) [9]
:) Про 95 тоже речи не было:)


 
Eraser ©   (2005-05-11 18:02) [11]

Marser ©

А там они прекрасно перехватываются с помощью BitBlt, именно потому что там GDI+ НЕ использовался.


 
alpet ©   (2005-05-11 18:14) [12]

Можно попробывать IDirectDrawSurface::BltFast. Если конечно удатся ее применить к GetDC (0).


 
_silver ©   (2005-05-11 18:34) [13]

alpet ©   (11.05.05 18:14) [12]
Можно попробывать IDirectDrawSurface::BltFast


Зачем?


 
_silver ©   (2005-05-11 18:35) [14]

alpet ©   (11.05.05 18:14) [12]
Можно попробывать IDirectDrawSurface::BltFast

Зачем?


 
kami ©   (2005-05-11 19:24) [15]

уух... прошу прощения за долгое отсутствие.
2 [9] Marser ©   , [10] _silver © :
Да, это будет работать на компьютерах только с WinXP( с SP и без оных)
2 [12] alpet ©
Хм... Если это действительно поможет, то конечно, здОрово, но возникает небольшая проблемка - я еще не работал с интерфейсами, и тем более DirectX. Хотя, если это то, что нуна - буду разбираться. :)
Зы. На МСДН половина ссылок на IDirectDrawSurface::BltFast указывает на DirectX 9.0c - а изначально на XP - ни разу не эта версия.  ?


 
alpet ©   (2005-05-11 19:40) [16]

kami ©   (11.05.05 19:24) [15]
Вот насчет поможет или нет - незнаю, но советую прикупить (выкачать) книгу Фень Юаня "Программирование графики для Windows". Там все очень интересно и подробно разжевано, и есть примеры недокументированного доступа.

З.Ы. Не верь MSDN - это реклама DX90, метод BltFast появился с возникновением DirectDraw (версии 2.0 ? ). Поищи к примеру в гугле "IDirectDrawSurface2::BltFast", ссылок будет до кучи.


 
_silver ©   (2005-05-11 22:27) [17]

alpet ©   (11.05.05 19:40) [16]
З.Ы. Не верь MSDN - это реклама DX90, метод BltFast появился с возникновением DirectDraw (версии 2.0 ? ). Поищи к примеру в гугле "IDirectDrawSurface2::BltFast", ссылок будет до кучи.


Это называется не верь MSDN...
???
DirectX по твоему не MSй продукт?

зы
И ответь всё-таки зачем

> IDirectDrawSurface2::BltFast
?


 
Eraser ©   (2005-05-11 22:32) [18]

alpet ©

Да! Зачем  IDirectDrawSurface2::BltFast ???


 
_silver ©   (2005-05-11 22:35) [19]

Eraser ©   (11.05.05 22:32) [18]
<offtop>
Ты куда пропал?
</offtop>


 
Eraser ©   (2005-05-11 22:38) [20]

_silver ©
<offtop>
Праздники/курсачи/сессия ((

Как-нибудь стукну в асю!
</offtop>


 
Cobalt ©   (2005-05-11 22:38) [21]

>Eraser ©   (11.05.05 17:44) [4]
>Стандартные виндовозовские подсказки (в Пуске например) 100 пудово не перехватываются, как и прозрачные окна.

Отвественно заявляю - враки!
У мя - ВинХР, при принтскрине замечательно видны и подзказки от кнопки Пуск, типа "Начните работу с нажатия этой кнопки", и подсказки от иконок в области уведомления, например от подключения к инету.


 
Eraser ©   (2005-05-11 22:40) [22]

Cobalt ©

Признавайся, отключал всякие графические наворотики, типа прозрачного меню? )


 
Sapersky   (2005-05-12 10:16) [23]

Да! Зачем  IDirectDrawSurface2::BltFast ???

Теоретически Blt (BltFast) c primary surface должен захватывать всё... за исключением курсора может быть.
Кстати, где можно выкачать Фень Юаня?


 
Cobalt ©   (2005-05-12 16:04) [24]

2 Eraser ©   (11.05.05 22:40) [22]
Да, у меня визуальные эффекты на максимум быстродействия :)



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

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

Наверх




Память: 0.52 MB
Время: 0.028 c
3-1117040772
_dimka
2005-05-25 21:06
2005.07.11
Как увидеть добавленную запись не переоткрывая запрос? (IBX)


1-1119358489
intaari
2005-06-21 16:54
2005.07.11
Прога не находит класс при старте программы


1-1119362853
markers
2005-06-21 18:07
2005.07.11
Реестр


1-1119514595
polariton2
2005-06-23 12:16
2005.07.11
Картинки в шапке StringGrid


3-1116909077
Тучудище
2005-05-24 08:31
2005.07.11
Назначение параметров запросу содержащемуся в SQL файле