检测键盘与鼠标差不多,但是它比较好记
但是比较奇怪,比如你想要检测字母,必须是它的大写
具体的就参照虚拟键盘值表,上百度可以查到
为了能更清楚地表达,我编了个小程序
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