Всем здравствуйте! Подскажите пожалуйста как получить снимок экрана из драйвера прямым чтением из видеобуфера.
Может не так спросил. конкретно интересует 1) как узнать адрес начала видеопамяти 2)начало области памяти, содержащей информацию непосредственно о пикчелах на экране 3) как определить режим видеоадаптера, чтобы знать сколько байт нужно считать
Здравствуйте, Alexander_kas, Вы писали:
A_>Всем здравствуйте! Подскажите пожалуйста как получить снимок экрана из драйвера прямым чтением из видеобуфера.
Я бы начал с
mirror driversАвтор: Valery A. Boronin
Дата: 24.03.06
Пример найдется в <DDK>\src\video\displays\mirror.
Книги по теме:
Фень Янь (
Feng Yang) немного касается вопроса.
Кстати, на днях вышел репринт его известнейшей классической книги:
Windows Graphics Programming: Win32 GDI and DirectDraw (<a target="_blank" href="http://findbook.ru/search/?isbn=01308-698-5-6&ozon=rsdn&bolero=rsdnru&biblion=791&booksru=rsdn&zonex=248&piter=3600&myshop=00776">ISBN 0130869856</a>) reprint is here!
Ссылки по теме:
Display and Print Devices: Windows DDK Mirror Drivers
Driver Development Part 6: Introduction to Display Drivers сей "свежачок" может оказаться полезным для общего развития, там тоже пару слов есть по теме
Ну и конечно же
поищите по нашему сайту?
... << RSDN@Home 1.2.0 alpha rev. 655>>
Здравствуйте, Valery A. Boronin, Вы писали:
VAB>Здравствуйте, Alexander_kas, Вы писали:
VAB>Я бы начал с mirror driversАвтор: Valery A. Boronin
Дата: 24.03.06
.....................................
VAB>Ну и конечно же поищите по нашему сайту?

Огромное спасибо что откликнулись — я уже думал может что совсем глупое спросил. Буду сейчас знакомиться с сылками которые вы дали. Кстати сам тоже немного продвинулся в вопросе. Получается снять информацию на конкретном компьютере — просто чтением из видеобуфера, адрес начала видеобуфера узнаю в диспетчере устройств, далее зная графический режим можно выяснить требуемый объём информации(картинки) и считать всё это в файл. Для проверки просто считывал этот файл обратно. РАБОТАЕТ! Однако всё это весьма грубо в том плане что адреса все не точные и для другого компьютера нужно ручками выяснять адрес видеобуфера и графический режим.