Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.05 c
14-1118673261
ms1
2005-06-13 18:34
2005.07.11
Moи oтnyck нa Kyбe.


14-1118036827
КаПиБаРа
2005-06-06 09:47
2005.07.11
Уважение к чужому мнению


14-1118065439
Nikolay M.
2005-06-06 17:43
2005.07.11
Кто-то интересовался, как можно начать работать без опыта


14-1118311955
Андрей Жук
2005-06-09 14:12
2005.07.11
Газпром и Нафтогаз Украины


3-1116709809
Starcom
2005-05-22 01:10
2005.07.11
xxx.dbf no Open





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский