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); 
} 
 
 
} 
 
 
 
} 
 
     
 
 
}