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

 更新时间:2018年07月12日 15:12:31   作者:everlasting__  
今天小编就为大家分享一篇C++检测键盘某键是否按下的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

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

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

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

#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++ 多态和虚函数

    详细分析C++ 多态和虚函数

    这篇文章主要介绍了C++ 多态和虚函数的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • c++ 内联函数和普通函数的区别

    c++ 内联函数和普通函数的区别

    内联函数是c++为了提高程序的运行速度做的改进,那么内联函数和普通函数的区别是什么,本文就来详细的介绍一下,感兴趣的朋友可以了解一下
    2021-05-05
  • 一文搞懂C++中的四种强制类型转换

    一文搞懂C++中的四种强制类型转换

    很多朋友向小编了解C语言中怎么进行强制类型转换呢?在这小编告诉大家强制类型转换可以分为两种,一种是隐式类型转换一种是显示类型转换,下面通过示例代码给大家介绍下,需要的朋友参考下吧
    2021-07-07
  • C++实现LeetCode(159.最多有两个不同字符的最长子串)

    C++实现LeetCode(159.最多有两个不同字符的最长子串)

    这篇文章主要介绍了C++实现LeetCode(159.最多有两个不同字符的最长子串),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++基于hook iat改变Messagebox实例

    C++基于hook iat改变Messagebox实例

    这篇文章主要介绍了C++基于hook iat改变Messagebox的方法,以实例形式展示了针对IAT(即导入地址表)以及hook的操作,有助于深入理解Windows程序设计原理,需要的朋友可以参考下
    2014-10-10
  • C语言实现银行管理系统

    C语言实现银行管理系统

    这篇文章主要为大家详细介绍了C语言实现银行管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • 区分c++中的声明与定义

    区分c++中的声明与定义

    这篇文章主要介绍了如何区分c++中的声明与定义,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2020-08-08
  • C++中构造函数重载

    C++中构造函数重载

    这篇文章主要介绍了C++中构造函数重载的相关资料,十分的详细,需要的朋友可以参考下
    2015-06-06
  • 深入理解Qt中各种消息框对话框的使用

    深入理解Qt中各种消息框对话框的使用

    本篇文章主要介绍了Qt中各种消息框的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 基于C++自动化编译工具的使用详解

    基于C++自动化编译工具的使用详解

    本篇文章是对C++中自动化编译工具的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论