Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для начинающих > Работа с мышью


Автор: kolorimage 15.9.2010, 18:23
после выполнения следующего кода :
Код

mov ax,0003h
int 33h

в регистре АХ будет записано состояние мыши, (нажата ли кнопка и т.п)
как проверить нажата ли правая, левая кнопка?  smile 

Автор: Sartorius 15.9.2010, 18:31
Систему неплохо указывать.
Почему в AX?
http://www.codenet.ru/progr/other/mouse.php -  тут в BX. Можешь там посмотреть и на маски состояния кнопок

Автор: kolorimage 15.9.2010, 19:06
ну да..я там уже был, но у меня не получается узнать нажата ли кнопка..
там такой код огромный и непонятный)
я программирую в..даже и не знаю)
tasm+winXP

p.s смайлик  smile потерял свои свойства..?
мне нужно что то типа 
cmp a,1
jmp m1
і т.д

Автор: airyashov 16.9.2010, 07:50
Код

mov ax,0003h
int 33h
test bx,1
jnz @push_left
test bx,10b
jnz @push_right
test bx,100b
jnz @push_center



Автор: Mikl_ 16.9.2010, 11:02
Цитата(kolorimage)
я программирую в..даже и не знаю)
tasm+winXP
 Если обработка int 33h и анализ BX, то однозначно в DOS под win32 работа с мышью сводится к получению сообщений операционной системы: WM_MOUSEFIRST, WM_MOUSEMOVE, WM_LBUTTONDOWN, 
WM_LBUTTONUP, WM_LBUTTONDBLCLK, WM_RBUTTONDOWN, WM_RBUTTONUP, WM_RBUTTONDBLCLK, WM_MBUTTONDOWN,
WM_MBUTTONUP, WM_MBUTTONDBLCLK, WM_MOUSELAST, WM_MOUSEACTIVATE и т.д. smile 

Автор: kolorimage 16.9.2010, 11:55
Цитата(airyashov @ 16.9.2010,  07:50)
Код

mov ax,0003h
int 33h
test bx,1
jnz @push_left
test bx,10b
jnz @push_right
test bx,100b
jnz @push_center


5 балов!
Спасибо! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)