⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mousetest.c

📁 用于测试鼠标的C原程序
💻 C
字号:
#include <dos.h>

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


}



}

    


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -