C# · 12月 19, 2021

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

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

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

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

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

#include

#include

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

/*

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(“nn “);

check(‘A’);check(‘S’);check(‘D’);check(‘F’);check(‘G’);check(‘H’);check(‘J’);check(‘K’);check(‘L’);

printf(“nn “);

check(‘Z’);check(‘X’);check(‘C’);check(‘V’);check(‘B’);check(‘N’);check(‘M’);

Sleep(20);//循环时间间隔,防止太占内存

system(“cls”);//清屏

}

return 0;

}

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