Вниз
Скачать: CL | DM;

снимок экрана полноэкранного   Найти похожие ветки 

 
Yrtimd ©   (2003-02-05 07:33) [0]

Итак, какой уже раз обращаюсь с этим вопросом:
Как получить снимок экрана, скажем, при работе консольного приложения в полноэкранном текстовом режиме.
Т.е. снять рабочий стол - элементарно, а вот как можно определить, что в данный момент видеоадаптер "находится в текстовом режиме" и снять данные о текущей картинке...
Желательно - без использования сторонних компонент.
Заранее благодарен. ;)


 
Юрий Зотов ©   (2003-02-05 07:58) [1]

В DOS это выглядело так:

Адрес видеобуфера в текстовом режиме - $B800.
2 байта на символ.
80х25 символов на экране (чаще всего).

То есть, надо взять 4000 байт по адресу $B800.

Если полагать, что текстовый режим в Windows совместим с DOS, то должно быть то же самое. Во всяком случае, в Windows вполне нормально работают мои старые DOS-программы, использующие этот способ доступа к видеопамяти.

Но если Вы хотите снять копию экрана ЧУЖОЙ программы, то, видимо, придется внедряться в ее виртуальную DOS-машину. Думаю, проще всего это будет сделать, написав DOS-овскую TSR (Int9) и запуская ее в одном батнике с программой (перед ней).



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
3-38055
BlackTiger
2003-01-26 20:13
2003.02.13
Как добавить в ExpressQuantumGrid4 сумму по колонке кодом?


1-38165
Ренат
2003-02-04 15:21
2003.02.13
SpeedButton


4-38651
Igor__
2003-01-02 04:15
2003.02.13
Изменение Иконки


1-38356
SergeN
2003-02-03 09:45
2003.02.13
Циклы


6-38411
Felix the cat
2002-12-18 22:23
2003.02.13
1 Serv+N Clients




   Наверх