C++檢測鍵盤某鍵是否按下的方法
更新時間:2018年07月12日 15:12:31 作者:everlasting__
今天小編就為大家分享一篇C++檢測鍵盤某鍵是否按下的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
檢測鍵盤與鼠標(biāo)差不多,但是它比較好記
但是比較奇怪,比如你想要檢測字母,必須是它的大寫
具體的就參照虛擬鍵盤值表,上百度可以查到
為了能更清楚地表達,我編了個小程序
#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 深藍(lán)色
2 深綠色
3 深青色
4 深紅色
5 深粉色
6 黃色
7 深白色
8 灰色
9 淺藍(lán)色
10 淺綠色
11 淺青色
12 淺紅色
13 淺粉色
14 淺黃色
15 淺白色
背景
1~15 黑色
16~31 深藍(lán)色
32~47 深綠色
48~63 深青色
64~79 深紅色
80~95 深粉色
96~111 深黃色
112~127 深白色
128~143 灰色
144~159 淺藍(lán)色
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);//循環(huán)時間間隔,防止太占內(nèi)存
system("cls");//清屏
}
return 0;
}
以上這篇C++檢測鍵盤某鍵是否按下的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- c++網(wǎng)絡(luò)編程下Linux的epoll技術(shù)和Windows下的IOCP模型
- c++下使用windows api遍歷指定文件夾及其子文件夾中的文件
- 解決vscode下調(diào)試c/c++程序一閃而過的問題(Windows)
- visual studio code 配置C++開發(fā)環(huán)境的教程詳解 (windows 開發(fā)環(huán)境)
- Visual Studio Code (vscode) 配置C、C++環(huán)境/編寫運行C、C++的教程詳解(Windows)【真正的小白版】
- C++實現(xiàn)俄羅斯方塊(windows API)
- Windows下使用Dev-C++開發(fā)基于pthread.h的多線程程序?qū)嵗?/a>
- windows系統(tǒng)下C++調(diào)用matlab程序的方法詳解
- Windows安裝配置C/C++(VS2017)OpenSSL開發(fā)環(huán)境配置教程
- C++模擬鍵盤按鍵的實例
- C/C++獲取鍵盤事件的方法
- 淺談C++的幾種從鍵盤輸入方式
- C++鍵盤記錄程序代碼
- C++處理鍵盤輸入的方法
- c++調(diào)用windows鍵盤代碼詳情
相關(guān)文章
基于linux下C開發(fā)中的幾點技術(shù)經(jīng)驗總結(jié)
本篇文章是對linux下C開發(fā)中的幾點技術(shù)經(jīng)驗總結(jié)進行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C++實現(xiàn)LeetCode(23.合并k個有序鏈表)
這篇文章主要介紹了C++實現(xiàn)LeetCode(23.合并k個有序鏈表),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯誤問題
Lambda表達式是現(xiàn)代C++的一個語法糖,挺好用的。但是如果使用不當(dāng),會導(dǎo)致內(nèi)存泄露或潛在的崩潰問題,這里總結(jié)下c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯誤問題,感興趣的朋友一起看看吧2023-02-02
C/C++?Qt?TableDelegate?自定義代理組件使用詳解
TableDelegate自定義代理組件的主要作用是對原有表格進行調(diào)整,本文主要介紹了QT中TableDelegate?自定義代理組件的使用教程,感興趣的朋友可以了解一下2021-12-12

