Скачиваний:
106
Добавлен:
02.05.2014
Размер:
403.46 Кб
Скачать

3.3.20. Заменить драйвер событий

На входе: AX = 0014h;

CX = маска вызова:

бит 0 - вызов при перемещении мыши;

бит 1 - вызов при нажатии левой клавиши;

бит 2 - вызов при отпускании левой

клавиши;

бит 3 - вызов при нажатии правой клавиши;

бит 4 - вызов при отпускании правой

клавиши;

бит 5 - вызов при нажатии средней клавиши;

бит 6 - вызов при отпускании

средней клавиши;

7Fh - вызов при любом событии;

00h - отключение драйвера событий;

ES:DX = адрес (дальний) подключаемого

драйвера событий.

На выходе: CX = маска предыдущего драйвера событий;

ES:DX = адрес предыдущего драйвера событий

(т.е. адрес заменяемого драйвера

событий).

Функция аналогична функции 0Ch, однако ее основное назначение - временная замена драйвера событий. Например, подпрограмма в начале своей работы может установить свой драйвер событий, а перед завершением - активизировать драйвер, использовавшийся ранее.

3.3.21. Определить размер буфера состояния драйвера

На входе: AX = 0015h.

На выходе: BX = размер буфера, требующийся для хранения

состояния драйвера мыши.

Если вам требуется временно сохранить состояние драйвера мыши, а затем восстановить его, вы можете воспользоваться специально предназначенными для этого функциями 16h и 17h. Для этих функций требуется буфер, в котором будет храниться состояние драйвера. Размер буфера можно определить с помощью функции 15h.

Когда может потребоваться запоминание и восстановление состояния драйвера? Например, при использовании мыши резидентными (TSR) программами желательно сохранить состояние драйвера перед началом работы TSR-программы и восстановить его перед завершением работы TSR-программы.

3.3.22. Сохранить состояние драйвера

На входе: AX = 0016h;

ES:DX = адрес буфера для записи состояния

драйвера.

На выходе: Не используются.

Функция позволяет записать состояние драйвера в буфер, размер которого должен быть определен с помощью функции 15h.

3.3.23. Восстановить состояние драйвера

На входе: AX = 0017h;

ES:DX = адрес буфера, содержащего состояние

драйвера.

На выходе: Не используются.

Функция позволяет восстановить состояние драйвера из буфера, в который оно было записано при помощи функции 16h.

3.3.24. Установить альтернативный драйвер событий

На входе: AX = 0018h;

CX = маска вызова:

бит 0 - вызов при перемещении мыши;

бит 1 - вызов при нажатии левой клавиши;

бит 2 - вызов при отпускании левой

клавиши;

бит 3 - вызов при нажатии правой клавиши;

бит 4 - вызов при отпускании правой

клавиши;

бит 5 - вызов при одновременном нажатии

клавиши мыши и клавиши SHIFT

на клавиатуре;

бит 6 - вызов при одновременном нажатии

клавиши мыши и клавиши CTRL

на клавиатуре;

бит 7 - вызов при одновременном нажатии

клавиши мыши и клавиши ALT

на клавиатуре;

7Fh - вызов при любом событии;

00h - отключение драйвера событий;

ES:DX = адрес (дальний) подключаемого

драйвера событий.

На выходе: AX = результат установки:

0018h - драйвер успешно установлен;

FFFFh - ошибка при установке драйвера.

По сравнению с функцией 0Ch эта функция обеспечивает дополнительные возможности:

  • проверка состояния клавиш SHIFT, CTRL, ALT во время нажатия на клавиши мыши.

  • возможность одновременной установки до трех драйверов событий, каждый из которых использует свою маску событий, задаваемых в регистре CX.

При попытке установить два драйвера с одной и той же маской событий функция возвращает в регистре AX код ошибки FFFFh. В этом случае вы можете использовать функцию 19h для получения адреса предыдущего установленного драйвера событий, отключить его и повторить попытку подключения своего драйвера.

Вы можете использовать функцию 18h для отключения драйвера событий, если укажете в регистрах ES:DX его адрес и зададите в регистре CX значение маски, равное 0.

Соседние файлы в папке input_devices