C++检测键盘某键是否按下

来源:互联网 发布:剑三黑鹤道长捏脸数据 编辑:程序博客网 时间:2024/06/05 01:01

检测键盘与鼠标差不多,但是它比较好记

但是比较奇怪,比如你想要检测字母,必须是它的大写

具体的就参照虚拟键盘值表,上百度可以查到

为了能更清楚地表达,我编了个小程序

#include<iostream>#include<windows.h>#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) //必要的,我是背下来的 using namespace std;void color(int a){//改变输出的颜色,比system("color x")快得多SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);/*<span style="white-space:pre"></span>字 1深蓝色2深绿色3深青色 4深红色5深粉色6黄色7深白色8灰色9浅蓝色10浅绿色 11浅青色 12浅红色 13浅粉色 14浅黄色 15浅白色 背景1~15黑色 16~31深蓝色 32~47深绿色48~63深青色64~79深红色80~95深粉色96~111深黄色112~127 深白色128~143 灰色144~159 浅蓝色160~175 浅绿色176~191 浅青色192~207 浅红色208~223 浅粉色224~239 浅黄色240~255 浅白色*/}void check(char c){//检测某个按键是否按下,按下就改变输出颜色if(!KEY_DOWN(c))color(7);else color(112);printf("  %c  ",c);color(7);}int main(){while(1){check('Q');check('W');check('E');check('R');check('T');check('Y');check('U');check('I');check('O');check('P');printf("\n\n ");check('A');check('S');check('D');check('F');check('G');check('H');check('J');check('K');check('L');printf("\n\n  ");check('Z');check('X');check('C');check('V');check('B');check('N');check('M');Sleep(20);//循环时间间隔,防止太占内存 system("cls");//清屏 }return 0;}


2 0
原创粉丝点击