Как заблокировать нажатие кнопки мыши на некоторое время?

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Vano
Сообщения: 41
Зарегистрирован: 16 авг 2004, 22:21
Откуда: Днепропетровск
Контактная информация:

Я использую фнкцию ah=00h прерывания int 16h для того, чтобы отловить нажатие кнопки мыши.

Код: Выделить всё

	mov         ax,000Ch     
	mov         cx,0002h     ; событие - нажатие левой кнопки
	mov         dx,offset handler ; ES:DX - адрес обработчика
	int            33h
	mov         ah,0         ; ожидание нажатия любой клавиши
	int            16h
	mov         ax,000Ch
	mov         cx,0000h     ; удалить обработчик событий мыши
	int            33h
Мне надо чтобы после выполниния обработчика(handler) нажатие на кнопку мыши некоторое время не обрабатывалось. Как это можно реализовать??
Andy
Сообщения: 238
Зарегистрирован: 17 фев 2004, 08:15
Откуда: Минск

Мне надо чтобы после выполниния обработчика(handler) нажатие на кнопку мыши некоторое время не обрабатывалось. Как это можно реализовать??
А зачем??? Просто введи дополнительные переменные в обработчике событий от мыши (который у тебя handler) и не обрабатывай сам.
Я использую фнкцию ah=00h прерывания int 16h для того, чтобы отловить нажатие кнопки мыши.
Неправильно. Эта функция отлавливает не мышь, а клавиатуру.

ЗЫ. Кусок кода видимо какой-то книжки?
*provided AS IS
Vano
Сообщения: 41
Зарегистрирован: 16 авг 2004, 22:21
Откуда: Днепропетровск
Контактная информация:

Да это я нашёл в примере одного htm-справочника. А как тогда правильно отловить нажатие на кнопку мыши???
И почему неправильно, ведь функция то реагирует на нажатие кнопки мыши???
Andy
Сообщения: 238
Зарегистрирован: 17 фев 2004, 08:15
Откуда: Минск

Vano, мышь ты ловишь правильно. Просто ah=00h - int 16h ждет нажатие на клавишу на клавиатуре. А мышь перехватывается как ты уже написал:

Код: Выделить всё

   mov         ax,000Ch      
   mov         cx,0002h     ; событие - нажатие левой кнопки 
   mov         dx,offset handler ; ES:DX - адрес обработчика 
   int            33h 
*provided AS IS
Vano
Сообщения: 41
Зарегистрирован: 16 авг 2004, 22:21
Откуда: Днепропетровск
Контактная информация:

Да я уже сам понял. Всё равно спасибо!
Ответить