Главная страница
    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.5 MB
Время: 0.041 c
14-1118408792
tema
2005-06-10 17:06
2005.07.11
Системы счисления...


3-1117222276
Starcom
2005-05-27 23:31
2005.07.11
Как вычис Кол-во лет имея дату занесения и тек в Paradox...


1-1119602054
Леша
2005-06-24 12:34
2005.07.11
Изменение ситемной даты


10-1095829748
AleKo
2004-09-22 09:09
2005.07.11
Удаление из системы DCOM сервера


3-1117262086
Гость2
2005-05-28 10:34
2005.07.11
Ошибка BDE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский