www.pudn.com > mousetest.zip > mousetest.c
#include#define On 1 #define OFF 2 #define LEFTBUTTON 1 #define RIGHTBUTTON 2 #define BOTHBUTTON 3 int haveMouse=0; int resetMouse(){ union REGS r; r.x.ax=0; int86(0x33,&r,&r); haveMouse=r.x.ax; return haveMouse==0?0:r.x.bx; } void lightMouse(int op){ union REGS r; if(haveMouse){ r.x.ax=op; int86(0x33,&r,&r); } } int getMouseStatus(int *x, int *y){ union REGS r; if(haveMouse){ r.a.ax=3; int86(0x33,&r,&r); *x=r.x.cx; *y=r.x.dx; return r.x.bx; } else returnn 0; } void setMouseXY(int x, int y){ union REGS r; if(haveMouse){ r.x.ax=4; r.x.cx=x; r.x.dx=y; int86(0x33,&r,&r); } } void setMouseRange(int left, int top, int right, int bottom){ union REGS r; if(haveMouse){ r.x.ax=7; r.x.cx=left; r.x.dx=right; int86(0x33,&r,&r); r.x.ax=8; r.x.cx=top; r.x.dx=bottom; int86(0x33,&r,&r); } } main(){ int button x,y,n; if(!(n=resetMouse())){ printf("No Mouse\n"); exit(0); } else printf("yes:%d\n",n); lightMouse(ON); setMouseRange(50,50,100,100); do{ button=getMouseStatus(&x,&y); if(button==LEFTBUTTON) printf("Left Button\n"); else if(button==RIGHTBUTTON) printf(" Right Button\n"); }while(button!=BOTHBUTTON); lightMouse(OFF); } } } }