1с бухгалтерия, антивирус, avast antivirus, Архиваторы, архиватор win rar, .

simplecompproj.narod.ru

 
 На сайте
   Главная
   Links

 Разделы
офисные программы
norton antivirus
антивирусные программы
avast 4 professional
антивирусные программы
nod32
антивирус касперского
файловый менеджер
Архиваторы
winrar
GPS-навигатор
 Главная  Links
{img1} прокси сервера
Листинг 4-6 прове- ряет используемую клавишу при каждом прерывании от таймера. Если первый код клавиши в буфере клавиатуры соответствует используемой клавише, новая TSR удаляет код клавиши и активизирует TSR.
програмное обеспечение
{img2} 1с бухгалтерия
В про- тивном случае новая ISR обращается к первоначальной программе об- работки прерываний от таймера. Листинг 4-6. Использование прерывания Int 1ch для опроса клавиатуры ---------------------------------------------------------------- HotKey DW (?) ; определение нажатой клавиши ; заметим, что ascii ; не может быть расширена OldInt1c DD 0 ; запоминание старого адреса ISR NewInt1c PROC FAR ; новый таймер isr puch ax ; необходимо для int 16h xor al,al ; xor быстрее очищает al,чем inc al ; mov al,1 int 16h ; проверка буфера клавиатуры jz NoHotKey ; если z - буфер пустой cmp ax,HotKey ; не пустой -- нажатая клавиша? jnz NoHotKey ; если nz -- клавиша не нажата xor al,al ; al <== запрос чтения int 16h ; удаление нажатой клавиши call ActivateTSR; обращение к TSR - 4-12 - NoHotKey pop ax ; восстановление ax jmp cs:OldInt1ch; передача отметки времени NewInt1c ENDP ---------------------------------------------------------------- При использовании этого метода доступен только первый символ буфера клавиатуры.
операционные системы windows
{img3} операционные системы windows
Распознавание присутствия обычного символа спрячет от этой подпрограммы опроса горячий ключ. Предполагая, что пользователь никогда заранее не в состоянии предвидеть запро- сы программ на ввод, горячий ключ будет обеспечивать ожидаемую реакцию при как угодно частом обращении.
программы архиваторы

програмное обеспечение

1с бухгалтерия, антивирус, avast antivirus, Архиваторы, архиватор win rar, .
 

словарь

Большинство хорошо работающих приложений ис- пользуют это прерывание для ввода с клавиатуры. Установка собс- твенного прерывания int 16h ISR позволит Вам анализировать каждый символ и отклонять любые горячие ключи. Листинг 4-5 демонстрирует типичную замену для int 16h ISR. Листинг 4-5. Замена прерывания int 16h для просмотра используемых клавиш ---------------------------------------------------------------- OldInt16 DD 0 ; сохранение кода инициализации ; адрес первоначальной isr Hotkey DW (?) ; определение нажатой клавиши NewInt16 PROC FAR cmp ah,1 ; проверка функции jg DoShift ; если g -- сдвиг jl DoRead ; ah=0 ==> чтение DoStatus: ; ah=1 ==> проверка состояния pushf ; моделирование int 16 call cs:OldInt16 ; передача запроса BIOS pushf ; сохранение флагов cmp ax,HotKey ; найдена нажатая клавиша? jnz Done1; нет xor ax,ax; ah <== 0 (запрос чтения) call cs:OldInt16 ; удаление нажатой клавиши call ActivateTSR ; нажатая клавиша вызывает TSR mov ah=1 ; ah <== 1 (запрос состояния) jmp SHORT DoStatus ; повторение запроса DoRead: pushf ; моделирование int 16h call cs:OldInt16 cmp ax,HotKey ; найдена нажатая клавиша? jnz Done0 ; если nz - нет call ActivateTSR ; нажатая клавиша вызывает TSR xor ah,ah ; ah <== 0 (запрос чтения) jmp SHORT DoRead ; повторение запроса DoShift: ; передача запроса jmp cs:OldInt16; старая ISR. Сброс Done0: ; ax имеет не используемые флаги - 4-11 - iret ; возврат для вызова Done1: ; ax имеет символ popf ; восстановление флагов int 16h ret 2 ; отбрасывание флагов, смоделированных ; командой int и возврат NewInt16 ENDP ---------------------------------------------------------------- Новая int 16h ISR проверяет результаты каждого считывания (AH=0) и запроса о состоянии буфера (AH=1), но не осуществляет проверку состояния shift запросов (AH=2). Если код ROM-BIOS воз- вращает горячий ключ, новая ISR удаляет код клавиши из буфера клавиатуры, инициирует TSR, и повторяет запрос. Если только пер- вый символ буфера клавиатуры оказывается горячим ключом , ISR не повторяет запрос. Этот пример сделан при упрощающем предположе- нии, что реактивация резидентной программы будет безопасной. (Подробное обсуждение этой темы смотри в разделе "Реактивация, архитектура DOS и сервис". Следовательно, коды в листинге 4-5 яв- ляются только моделью, и не совсем корректны). Ограничение для этого метода заключается в том, что горячий ключ можно выявить только один раз, когда программа переднего плана задает считывание. Если эта программа производит большой объем вычислений, то между временем нажатия клавиши и ответом TSR задержка может быть большая. Опрос буфера клавиатуры прерыванием от таймера Int 1Ch Вы можете обеспечить постоянный контроль клавиатуры подменой прерывания от таймера и проверкой буфера клавиатуры с помощью Ва- шей программы обработки прерываний от таймера.


asplinux 11


 
 

CNews: Новости | e-Business | Hi-Tech | Telecom List.ru - каталог ресурсов интернет Directrix џ­¤ҐЄб жЁвЁа®ў ­Ёп
Сайт управляется системой uCoz