zoukankan      html  css  js  c++  java
  • 设备管理模拟

    #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;
    }
  • 相关阅读:
    一个总成本花费100W的失败项目的小小反省
    从绝望中寻找希望
    一个合格程序员该做的事情——你做好了吗?
    Go to 北京!
    深入浅出Oracle分析函数
    最适合web开发人员使用的速查表
    采用axis2c进行webservice发布的流程4在生成的代码中添加事务处理逻辑
    采用axis2c进行webservice发布的流程1
    rhel6.0及centos6.0 忘记root密码解决办法
    采用axis2c进行webservice发布的流程3通过wsdl文件,自动生成C的服务端代码
  • 原文地址:https://www.cnblogs.com/NoSoul/p/2596794.html
Copyright © 2011-2022 走看看