Аппаратное обеспечение персонального компьютера

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

}



Содержание раздела