Программа MSCURSOR
Приведем исходный текст программы MSCURSOR (листинг 3.1), демонстрирующую применение описанных выше функций. Программа инициализирует мышь, делает видимым курсор мыши и прячет курсор после того как пользователь нажмет любую клавишу.
Листинг 3.1. Файл mscursor\mscursor.c
// =====================================================
// Включение и выключение курсора мыши
//
// (C) Фролов А.В, 1997
//
// E-mail: frolov@glas.apc.org
// WWW: http://www.glasnet.ru/~frolov
// или
// http://www.dials.ccas.ru/frolov
// =====================================================
#include <dos.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int nButtons;
union REGS rg;
printf("MSCURSOR, (c) A. Frolov, 1997\n");
// Инициализируем мышь
rg.x.ax = 0;
int86(0x33, &rg, &rg);
if(rg.x.bx == 0)
{
printf("Mouse not found");
return -1;
}
// Сохраняем количество клавиш
nButtons = rg.x.bx;
printf("Mouse type: ");
switch (nButtons)
{
case 2:
{
printf("2-button mouse\n");
break;
}
case 3:
{
printf("2-button Mouse Systems\n");
break;
}
case 0:
{
printf("Unknown type %d\n", nButtons);
break;
}
default:
{
printf("Unknown type %d\n", nButtons);
break;
}
}
// Включаем курсор и ожидаем, пока пользователь
// нажмет на клавишу
rg.x.ax = 1;
int86(0x33, &rg, &rg);
printf("Mouse cursor on. Press any key\n");
getch();
// Выключаем курсор
rg.x.ax = 2;
int86(0x33, &rg, &rg);
printf("Mouse cursor off. Press any key\n");
getch();
return 0;
}