![]() |
|
|
![]()
|
|
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 4 Всего: 16 |
PRTSC.COM
Программа организует запись в файл всего содержимого видеопамяти, т.е. записывает в файл весь текст, отображённый на дисплее. Корректно выполняется в текстовых видеорежимах 0-3 и установленной активной нулевой видеостраницей. Объём генерируемого файла 2050 байт. Формат команды: дк:пк\PRTSC диск:путь\имя_файла.расш Пример: PRTSC screen.txt Записывает в файл screen.txt текст, отображенный на дисплее. --------------------------------------------------------------------------------
Это сообщение отредактировал(а) iff - 30.5.2010, 17:42 Присоединённый файл ( Кол-во скачиваний: 16 )
PRTSC.COM 0,07 Kb-------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
| Mikl_ |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 9.11.2007 Репутация: 8 Всего: 14 |
iff,
это был вопрос или реклама? В свое время я делал вывод содержимого видеопамяти в графическом режиме на принтер. В принципе мало отличалось от твоей программы только вывод шел не с адреса 0B800h (текстовый режим) а с 0A000h "зеленой" компоненты экрана и учитывалось что в видеопамяти изображение хранится построчно, а на принтер выводилось повернутые на 90 градусов по ширине печатающей головки |
|||
|
||||
| iff |
|
||||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 4 Всего: 16 |
На счёт этого можно по-подробней? Что0то я не пойму. Там хранятся дескрипторы шрифтов?
Статья. FAQ. Исходник. -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
||||
|
|||||
| oskarmt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 30.5.2010 Репутация: нет Всего: нет |
а если я допустим работаю в volkov commander.....
как мне вывести тогда содержимое видеопамяти? |
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 4 Всего: 16 |
так-же.
Просто volkov commander выгружается из видеопамяти, когда запускает программу... Добавлено через 1 минуту и 48 секунд Можно сделать так: при нажатии на клавишу print screen вызывается прерывание 05h. Можно поменять вектор этого прерывания так чтобы при его запуске выполнялась программа, приведенныя выше. -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
| oskarmt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 30.5.2010 Репутация: нет Всего: нет |
а помоги мне пожалуйста сделать её резидентной....если тебе не сложно)
а то я очень слабо пока с этим дружу( |
|||
|
||||
| oskarmt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 30.5.2010 Репутация: нет Всего: нет |
Я вот тут вообщем поколдовал...и у меня чего-то не получается....
простите за очень грубые ляпы,но в асме сильно не шарю.... помогите пожалуйста исправить ошибки...очень нужно
|
|||
|
||||
| ФедосеевПавел |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: 4 Всего: 10 |
Написание такого резидента несколько сложнее...
Нужно перехватывать и обрабатывать несколько прерываний 2Fh и другие. В нескольких десятках строк и не рассказать - придётся тебе читать книги (в том числе и статьи в Internet). Примеры лучше поищи на этом и других форумах. Несколько месяцев назад на sources.ru в разделе ассемблера был подобный пример. Приаттачу небольшой кусок статьи из книги "Техника программирования на Turbo C". Присоединённый файл ( Кол-во скачиваний: 4 )
T7.7z 22,21 Kb |
|||
|
||||
| oskarmt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 30.5.2010 Репутация: нет Всего: нет |
я пробовал изменить вектор 5того прерывания,но нифига не вышло,
совсем не реагирует на кнопку принтскрин подскажите мне,реальнай ли это вариант.... в рассылке калашникова был тот же пример,там обрабатывалось 5ое прерывание я пробовал запустить этот пример ,но реакции на принтскрин небыло..... вот пример из калашникова Присоединённый файл ( Кол-во скачиваний: 6 )
resid15.asm 10,37 Kb |
|||
|
||||
| ФедосеевПавел |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: 4 Всего: 10 |
Кажется, там нужно нажимать Shift-PrnScr.
|
|||
|
||||
| oskarmt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 30.5.2010 Репутация: нет Всего: нет |
ну как бы не на столько глуп,чтобы не просмотреть код программы
Shift-PrnScr тоже не работает как собственно и в этом примере http://window.edu.ru/window_catalog/pdf2tx...6&p_page=13 ....та же проблема((( |
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 4 Всего: 16 |
Итак я написал программу, которая работает: при нажатии кнопки принт скрин в текущей директории создается текстовой файл SCREEN00.TXT, который содержит весь текст, отображенный на экране в данный момент.
Откомпилировал в СОМ-программу, она вышла размером 100 байт. -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 4 Всего: 16 |
Хочу заметить, что есди такую программу запускать из-под виндовс, то работать не будет: виндовс сам анализирует состояние клавиши принт скрин.
Если нужно убидиться что всё работает, то можно отформатировать дискету как загрузочный диск мс-дос, записать на него программу, нортон командер (скрин которого вы хотите получить), затем загрузиться с неё. запустить нортон и мою прогу. теперь нажмите принт скрин и на дискете будет файл SCREEN00.TXT, который содержит весь текст, отображенный на экране в данный момент -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
| oskarmt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 30.5.2010 Репутация: нет Всего: нет |
а с помощью эмулятора dos box это возможно сделать?
|
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 4 Всего: 16 |
сейчас попробую
Добавлено через 2 минуты и 58 секунд нет Добавлено через 9 минут и 1 секунду Но если вызвать прерывание 5 программным способом, то файл сл скрином тоже появится:
Добавлено через 11 минут и 20 секунд П.С. А вот если мою программу не запустить перед сеансом debug, а потом вызвать прерывание 5, то экран распечатается на принтере - как в операционной системе ДОС при нажатии на клавишу принт скрин. Т.е. получается в виндовсе программа не может обрабатывать нажатие клавиши принт скрин -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |