#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; }