📄 mousetest.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 + -