Страница 1 из 1

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

Добавлено: 06 ноя 2004, 12:18
Vano
Я использую фнкцию 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) нажатие на кнопку мыши некоторое время не обрабатывалось. Как это можно реализовать??

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

ЗЫ. Кусок кода видимо какой-то книжки?

Добавлено: 06 ноя 2004, 23:01
Vano
Да это я нашёл в примере одного htm-справочника. А как тогда правильно отловить нажатие на кнопку мыши???
И почему неправильно, ведь функция то реагирует на нажатие кнопки мыши???

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

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

   mov         ax,000Ch      
   mov         cx,0002h     ; событие - нажатие левой кнопки 
   mov         dx,offset handler ; ES:DX - адрес обработчика 
   int            33h 

Добавлено: 07 ноя 2004, 13:57
Vano
Да я уже сам понял. Всё равно спасибо!