检测键盘与鼠标差不多,但是它比较好记
但是比较奇怪,比如你想要检测字母,必须是它的大写
具体的就参照虚拟键盘值表,上百度可以查到
为了能更清楚地表达,我编了个小程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
#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++检测键盘某键是否按下的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/everlasting_20141622/article/details/52222006