首页 > 编程 > C++ > 正文

C++检测键盘某键是否按下的方法

2020-05-23 13:28:52
字体:
来源:转载
供稿:网友

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

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

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

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

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

以上这篇C++检测键盘某键是否按下的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VEVB武林网。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表