Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Резидентний оброблювач клавіатури (перехоплення натискань клавіш і запис у файл)

Реферат Резидентний оброблювач клавіатури (перехоплення натискань клавіш і запис у файл)





иконуються і з головним покажчиком.

Рівність адрес в обох покажчиках свідчить про те, що буфер порожній. Якщо при цьому програма поставила запит на введення символу з клавіатури, то драйвер консолі чекатиме надходження коду в буфер, після чого цей код буде переданий в програму. Якщо ж хвостовій покажчик, переміщаючись по буферу в процесі його заповнення, підійшов до головного вказівником "із зворотного боку" (це відбудеться, якщо оператор натискає на клавіші, а виконувана в даний момент програма не звертається до клавіатури), прийом нових кодів блокується, а натискання на клавіші збуджує попереджувальні звукові сигнали.

Якщо комп'ютер не виконує ніякої програми, то активною є програма командного процесора COMMAND.COM. Активність COMMAND.COM полягає в тому, що він, поставивши запит до DOS на введення з клавіатури (з допомогою функції 0Ah переривання 21h) очікує введення з клавіатури черговий команди користувача. Як тільки в кільцевому буфері введення з'являється код символу, функція 0Ah переносить його у внутрішній буфер DOS, очищаючи при цьому кільцевої буфер введення, а також виводить символ на екран. При одержанні коду клавіші (0Dh) функція 0Ah завершує свою роботу, а командний процесор передбачає, що введення команди закінчений, аналізує вміст буфера DOS і приступає до виконання введеної команди. При цьому командний процесор працює практично лише з молодшими половинами двобайтових кодів символів, саме, з кодами ASCII. p> Якщо комп'ютер виконує яку-небудь програму, провідну діалог з оператором, то, як вусі зазначалося, введення даних з клавіатури (а точніше з кільцевого буфера введення) і виведення їх на екран з метою відлуння контролю організовує ця програма, звертаючись безпосередньо до драйвера BIOS (int 16h) або до відповідної функції DOS (int 21h). Може статися, проте, що виконуваної програмі не потрібне введення з клавіатури, а оператор натиснув якісь клавіші. У цьому випадку Зауважте, накопичуються (за допомогою програми int09h) в кільцевому буфері введення і, природно, не відображаються на екрані. Так можна ввести до 15 символів. Коли програма завершиться, управління буде передано COMMAND. СОМ, який відразу ж виявить наявність символів в кільцевому буфері, витягне їх звідти і відобразить на екрані. Такий введення з клавіатури називають введенням з попередженням.

До цих пір мова йшла про символи і кодах ASCII, яким відповідають певні клавіші терміналу і які можна відобразити на екрані. Це букви (прописні і рядкові), цифри, знаки пунктуації та спеціальні знаки, які використовуються в програмах і командних рядках, наприклад, |, $, * та ін Проте є ряд клавіш, яким не призначені відображаються на екрані символи. Це, наприклад, функціональні клавіші , ... ; клавіші управління курсором , , , , <Стрілка вправо>, <Стрілка вниз> та ін При натисканні цих клавіш у кільцевий буфер введення засилається розширений код ASCII, в якому молодший байт дорівнює...


Назад | сторінка 14 з 23 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Введення вихідних даних в програму 1С та підготовка її для автоматизації ма ...
  • Реферат на тему: Розробка програми-драйвера клавіатури
  • Реферат на тему: Оператори введення - виведення даних
  • Реферат на тему: Виконання введення і виведення інформації з носіїв. Робота з клавіатурою
  • Реферат на тему: Введення в комп'ютерні технології