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

📄 mouse.c

📁 操作系统的进程管理、设备管理、文件管理的动态演示(C版)
💻 C
字号:
/******************************** 鼠标操作函数 *************************************/
int Msinit()
{
   int recored;

   regs.x.ax=0;  /* 初始化鼠标*/
   int86(0x33,&regs,&regs);
   recored=regs.x.ax;
   if(recored==0)
   {  printf("Mouse not found !\n");
      getch();
      return 0;
   }
   regs. x. ax =  1;  /* 显示光标*/
   int86(0x33,&regs,&regs);
   return recored;
}

int Nomouse()
{
   regs. x. ax =  2;  /* 隐藏光标*/
   int86(0x33,&regs,&regs);
}

int Showmouse()
{
   regs. x. ax =  1;/* 显示光标*/
   int86(0x33,&regs,&regs);
}
int Msget(int *px,int *py,int *buttons)
{
   regs.x.ax=3;
   int86(0x33,&regs,&regs);
   *px=regs.x.cx;
   *py=regs.x.dx;
   *buttons=regs.x.bx;
}

int Msread(int *px,int *py,int *buttons)
{
   int    but_old=*buttons;
   int    x_old=*px,y_old=*py;
   struct time t;
   struct date d;/* 当前时间信息*/

   Showmouse();  
   do{
       if(kbhit())
       return bioskey(0);
       Msget(px,py,buttons);

   }while(*px==x_old&&*py==y_old&&*buttons==but_old);
   but_old=*buttons;
   x_old=*px;
   y_old=*py;
   return -1;
}

int Msinbox(int x1,int y1,int x2,int y2)
{
   int mx,my;
   regs.x.ax=3;
   int86(0x33,&regs,&regs);
   mx=regs.x.cx;
   my=regs.x.dx;
   if(mx>=x1&&mx<=x2&&my>=y1&&my<y2) return OK;
   else return ERROR;
}

⌨️ 快捷键说明

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