Untitled

 avatar
unknown
plain_text
21 days ago
1.7 kB
4
Indexable
#include <dos.h>
#include <stdio.h>

int main() {
    union REGS in, out;

    // Проверка дали драйверът за мишка е инсталиран
    in.x.ax = 0x0000; // Функция 0: Инициализиране на драйвера за мишка
    int86(0x33, &in, &out); // Прекъсване 0x33 - за управление на мишката

    if (out.x.ax == 0) {
        // Ако AX = 0, драйверът не е инсталиран
        printf("Драйверът за мишка не е инсталиран.\n");
    } else {
        // Драйверът е инсталиран
        printf("Драйверът за мишка е инсталиран.\n");

        // Проверка на версията на драйвера
        in.x.ax = 0x0024; // Функция 24h: Вземане на версията на драйвера
        int86(0x33, &in, &out);

        unsigned int majorVersion = out.x.bx; // Основна версия
        unsigned int minorVersion = out.x.cx; // Минорна версия
        printf("Версия на драйвера за мишка: %u.%u\n", majorVersion, minorVersion);

        // Тип на мишката
        printf("Тип на мишката: ");
        switch (out.x.dx) {
            case 0: printf("Няма открита мишка\n"); break;
            case 1: printf("Мишка с един бутон\n"); break;
            case 2: printf("Мишка с два бутона\n"); break;
            case 3: printf("Мишка с три бутона\n"); break;
            default: printf("Непознат тип\n");
        }
    }

    return 0;
}
Leave a Comment