logo
несколько программ / bsp33

Программа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;

}