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

标签: c++
7754人阅读 评论(2) 收藏 举报
分类:

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

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

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

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

#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/C++获取键盘事件

在vs中可以使用_kbhit()函数来获取键盘事件,使用时需要加入conio.h头文件,例:#include #include using namespace std;int main() { ...
  • lindorx
  • lindorx
  • 2017-12-09 17:50:38
  • 2095

C语言非阻塞式键盘监听

监听键盘可以使用C语言的字符输入函数,例如 getchar、getch、getche 等,我们会在《结合缓冲区谈谈C语言getchar()、getche()、getch()的区别》一节中重点讲解它们的...
  • shuimanting520
  • shuimanting520
  • 2016-05-09 23:11:27
  • 5661

linux c/c++监听鼠标或键盘事件

linux c/c++监听鼠标或键盘事件 1、输入设备在文件/proc/bus/input/devices中,如: 其中Handlers=kbd event2,说明其值可以在/dev/in...
  • liang12360640
  • liang12360640
  • 2015-12-18 11:54:10
  • 4580

C++检测鼠标某键是否按下

我曾经为了找到监测的方法,用了好几个小时,但是还是没有有效且简洁的方法 后来我自己研究出了一种方法,分享给大家 直接上代码 #include #include #define KEY_DOWN...
  • everlasting_20141622
  • everlasting_20141622
  • 2016-08-16 14:00:13
  • 3976

C++ 读取键盘输入(cin/cin.getline()/cin.get()/cin.clear())

1.cin C++ 使用cin可以方便的读取键盘输入的字符,例如: //test input #include int main() { us...
  • mylovepan
  • mylovepan
  • 2012-09-04 22:26:40
  • 33120

c/c++键盘输入

C语言输入: 包含头文件 # include即可。 (1)使用scanf(): (a)利用一个scanf函数输入单个字符:(一个数字也可被认为是一个字符输入)           char arr[...
  • u013925378
  • u013925378
  • 2016-07-12 17:08:25
  • 792

VC++ 检测键盘任意按键是否按下并跟踪显示键值

  • 2010年07月25日 14:10
  • 20KB
  • 下载

VC++ 按键检测,监测键盘任意按键

  • 2011年11月05日 13:54
  • 20KB
  • 下载

找出键盘上当前按下的键

 一、问题的提出  有的程序员希望能够识别所有键盘上按下的键,以便在应用程序中能够正确地处理它。特别希望知道的是用户是否按下了键 SHIFT、CTRL、ALT、NUMLOCK 或 CAPSLOCK。对...
  • ghj1976
  • ghj1976
  • 2000-12-14 10:21:00
  • 3107

如何判断键盘按下了哪个值?

        在C#中的KeyCode和KeyValue可以获取你从键盘上输入的值。例如下面的例子:private void textBox3_KeyUp(object sender, System...
  • tjvictor
  • tjvictor
  • 2006-07-03 17:02:00
  • 5547
    个人资料
    持之以恒
    等级:
    访问量: 5万+
    积分: 1832
    排名: 2万+
    最新评论