关闭

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

标签: c++
6407人阅读 评论(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;
}


2
0
查看评论

C++键盘事件

VK_A~VK_Z从A键到Z键.VK_0~VK_9从0键到9键.VK_F1~VK_F12从F1键到F12键.VK_DOWN向下键头VK_UP向上键头VK_LEFT向左键头VK_RIGHT向右键头VK_ESCAPE::ESC键VK_DELETE::DELETE键VK_INSERT::INSERT键VK...
  • guichenglin
  • guichenglin
  • 2009-10-19 15:52
  • 4269

C/C++获取键盘事件

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

VC处理键盘消息

VC中键盘事件处理主要是通过对相应的消息的响应,这些事件有如:WM_CHAR、WM_KEYDOWN、WM_KEYUP等他们分别对应OnChar、OnKeyDown、OnKeyUp消息处理函数;当然在有些时候我们也可能需要用到对PreTranslateMessage函数的重载。 从这些事件的名称我们...
  • xxyy888
  • xxyy888
  • 2012-10-27 13:32
  • 8187

【mfc】鼠标、键盘响应事件

对于mfc这东西,你真的必要跟我扯一大堆怎么类,什么派生,什么鬼东西 告诉我怎么做出一个个小功能,我记住它就可以了 这期为大家带来MFC的鼠标响应事件 这也是所谓的MFC中的“消息映射事件” 一、基本目标 1、有一个基本的MFC程序,点击“关闭”则“关闭”这个程序,这点没什么好讲的,把自带的“取...
  • yongh701
  • yongh701
  • 2015-01-07 11:58
  • 5024

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

linux c/c++监听鼠标或键盘事件 1、输入设备在文件/proc/bus/input/devices中,如: 其中Handlers=kbd event2,说明其值可以在/dev/input文件夹的event2文件中读到,文件夹内容: 2、可能是受虚拟机影响,鼠标事...
  • liang12360640
  • liang12360640
  • 2015-12-18 11:54
  • 4038

C语言非阻塞式键盘监听

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

C/C++ 获得键盘按键代码

写推箱子小游戏的时候需要读取键盘 写了个快速获得代码的小程序 #include #include int main() { int a; while(1) { a=getch(); std::cout<<a<<std::endl; }...
  • Vic___
  • Vic___
  • 2013-04-07 16:18
  • 5053

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

1.cin C++ 使用cin可以方便的读取键盘输入的字符,例如: //test input #include int main() { using namespace std; const int size = 20; char nam...
  • mylovepan
  • mylovepan
  • 2012-09-04 22:26
  • 31707

C++接受键盘输入字符串

C++学习字符串输入的小例子,并且做了一些字符串是否为空,字符数组转换为字符串的一些操作。 下面是例子:在DEV C++的编译工具下面顺利通过编译 #include #include using namespace std; int main(){ int count = 20; ...
  • qhs1573
  • qhs1573
  • 2015-01-31 18:34
  • 3539

C++的几种从键盘输入方式

我们都知道,C++可以从键盘来读取输入,读取输入的方式也有好多种,下面我们来介绍常见的几种方式 和他们的不同之处 1、cin 使用cin输入时,程序将输入视为一系列字节。每个字节都被解释为字符编码。不管数据类型是什么,输入一开始都是字符数据,然后cin对象负责将数据转换成其他类型  ...
  • qq_38193597
  • qq_38193597
  • 2017-04-13 15:37
  • 3055
    -广告-
    一个极其温馨的提示
    个人资料
    • 访问:48283次
    • 积分:1744
    • 等级:
    • 排名:千里之外
    • 原创:127篇
    • 转载:1篇
    • 译文:0篇
    • 评论:22条
    最新评论