设备管理模拟

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

//显示操作菜单
void Menu()
{
    printf("\n\n\t1-------------------------设置鼠标为左手习惯\n");
    printf("\t2-------------------------设置鼠标为右手习惯\n");
    printf("\t3-------------------------获取键盘类型和功能键个数\n");
    printf("\t4-------------------------喇叭播放音乐\n");
    printf("\t0-------------------------退出\n");
    printf("\n\n\t请输入选项:            ");
    return;
}
//退出程序
void Quit()
{
    printf("\n\n\t退出\n\n");
    return;
}
//错误处理
void Error()
{
    printf("\n\n\t输入出错!");
    return;
}
//检测键盘
void CheckKeyboard()
{
    char sKeyType[256];
    int iFunctionKeynum;
    switch(GetKeyboardType(0))
    {
    case 1:
        strcpy(sKeyType,"\nIBM PC/XT或兼容(83键)键盘\n");
        break;
    case 2:
        strcpy(sKeyType,"\nOlivertti\'ICO\'(102键)键盘\n");
        break;
    case 3:
        strcpy(sKeyType,"\nIBM PC/AT(84键)或类似键盘\n");
        break;
    case 4:
        strcpy(sKeyType,"\nIBM 增强型(101或102键)键盘\n");
        break;
    case 5:
        strcpy(sKeyType,"\nNokia 1050 或类似键盘\n");
        break;
    case 6:
        strcpy(sKeyType,"\nNokia 9140 或类似键盘\n");
        break;
    case 7:
        strcpy(sKeyType,"\nJapanese 键盘\n");
        break;
    default:
        strcpy(sKeyType,"\n目前无法确认\n");
        break;
    }
    printf("%s",sKeyType);
    iFunctionKeynum=GetKeyboardType(2);
    printf("\n功能键个数 %d\n",iFunctionKeynum);
    return;
}
//喇叭发声
void PlayMusic()
{
    int iFreq[24]= {784,659,523,784,659,523,880,698,587,880,698,578,
                    1568,1318,1046,1568,1318,1046,1760,1396,1174,1706,1396,1174
                   };
    int i,j;
    for(i=0; i<2; ++i)
    {
        for(j=0; j<24; ++j)
        {
            Beep(iFreq[j],200);
        }
    }
    return;
}

int main()
{
    char UserSelect;
    do
    {
        Menu();
        UserSelect=getchar();
        putchar(UserSelect);
        switch(UserSelect)
        {
        case '1':
            SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP,1,0,0);//设置鼠标为左手习惯
            break;
        case '2':
            SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP,0,0,0);//设置鼠标为右手习惯
            break;
        case '3':
            CheckKeyboard();
            break;
        case '4':
            PlayMusic();
            break;
        case '0':
            Quit();
            break;
        default:
            Error();
            break;
        }
    }
    while(UserSelect!='0');
    return 0;
}
原文地址:https://www.cnblogs.com/NoSoul/p/2596794.html