在C中的游戏中使用鼠标控制

时间:2014-02-17 19:10:32

标签: c dos

我是用C编程鼠标的新手,有人可以解释一下这个基本代码吗?

#include <dos.h>  
union REGS in, out;

void detect_mouse ()
{
    in.x.ax = 0;
    int86 (0X33,&in,&out);   //invoke interrupt
    if (out.x.ax == 0)
        printf ("\nMouse Failed To Initialize");
    else
        printf ("\nMouse was Succesfully Initialized");
}

int main ()
{
    detect_mouse ();
    getch ();
}

1 个答案:

答案 0 :(得分:2)

这将是旧的普通MS DOS的代码,它将查询是否加载了鼠标驱动程序(mouse.com/mouse.sys)。

要与mouse.sys通信,您必须使用特定内容填充某些处理器寄存器,执行中断0x33,然后检查处理器寄存器的返回值。这就是功能的作用。您可以在此处找到最可能的寄存器内容和函数列表:http://www.delorie.com/djgpp/doc/rbinter/ix/33/00.html