![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
снимок экрана полноэкранного
Yrtimd © (2003-02-05 07:33:00)Итак, какой уже раз обращаюсь с этим вопросом:
Как получить снимок экрана, скажем, при работе консольного приложения в полноэкранном текстовом режиме.
Т.е. снять рабочий стол - элементарно, а вот как можно определить, что в данный момент видеоадаптер "находится в текстовом режиме" и снять данные о текущей картинке...
Желательно - без использования сторонних компонент.
Заранее благодарен. ;)
Юрий Зотов (2003-02-05 07:58:00) [1]В DOS это выглядело так:
Адрес видеобуфера в текстовом режиме - $B800.
2 байта на символ.
80х25 символов на экране (чаще всего).
То есть, надо взять 4000 байт по адресу $B800.
Если полагать, что текстовый режим в Windows совместим с DOS, то должно быть то же самое. Во всяком случае, в Windows вполне нормально работают мои старые DOS-программы, использующие этот способ доступа к видеопамяти.
Но если Вы хотите снять копию экрана ЧУЖОЙпрограммы, то, видимо, придется внедряться в ее виртуальную DOS-машину. Думаю, проще всего это будет сделать, написав DOS-овскую TSR (Int9) и запуская ее в одном батнике с программой (перед ней).