C++檢測(cè)鍵盤(pán)某鍵是否按下的方法
檢測(cè)鍵盤(pán)與鼠標(biāo)差不多,但是它比較好記
但是比較奇怪,比如你想要檢測(cè)字母,必須是它的大寫(xiě)
具體的就參照虛擬鍵盤(pán)值表,上百度可以查到
為了能更清楚地表達(dá),我編了個(gè)小程序
#include<iostream>
#include<windows.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) //必要的,我是背下來(lái)的
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){//檢測(cè)某個(gè)按鍵是否按下,按下就改變輸出顏色
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)時(shí)間間隔,防止太占內(nèi)存
system("cls");//清屏
}
return 0;
}
以上這篇C++檢測(cè)鍵盤(pán)某鍵是否按下的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- c++網(wǎng)絡(luò)編程下Linux的epoll技術(shù)和Windows下的IOCP模型
- c++下使用windows api遍歷指定文件夾及其子文件夾中的文件
- 解決vscode下調(diào)試c/c++程序一閃而過(guò)的問(wèn)題(Windows)
- visual studio code 配置C++開(kāi)發(fā)環(huán)境的教程詳解 (windows 開(kāi)發(fā)環(huán)境)
- Visual Studio Code (vscode) 配置C、C++環(huán)境/編寫(xiě)運(yùn)行C、C++的教程詳解(Windows)【真正的小白版】
- C++實(shí)現(xiàn)俄羅斯方塊(windows API)
- Windows下使用Dev-C++開(kāi)發(fā)基于pthread.h的多線程程序?qū)嵗?/a>
- windows系統(tǒng)下C++調(diào)用matlab程序的方法詳解
- Windows安裝配置C/C++(VS2017)OpenSSL開(kāi)發(fā)環(huán)境配置教程
- C++模擬鍵盤(pán)按鍵的實(shí)例
- C/C++獲取鍵盤(pán)事件的方法
- 淺談C++的幾種從鍵盤(pán)輸入方式
- C++鍵盤(pán)記錄程序代碼
- C++處理鍵盤(pán)輸入的方法
- c++調(diào)用windows鍵盤(pán)代碼詳情
相關(guān)文章
strcat函數(shù)實(shí)現(xiàn)簡(jiǎn)單示例
這篇文章主要介紹了strcat函數(shù)實(shí)現(xiàn)簡(jiǎn)單示例,需要的朋友可以參考下2014-03-03
基于linux下C開(kāi)發(fā)中的幾點(diǎn)技術(shù)經(jīng)驗(yàn)總結(jié)
本篇文章是對(duì)linux下C開(kāi)發(fā)中的幾點(diǎn)技術(shù)經(jīng)驗(yàn)總結(jié)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C++實(shí)現(xiàn)LeetCode(23.合并k個(gè)有序鏈表)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(23.合并k個(gè)有序鏈表),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
c++ lambda捕獲this 導(dǎo)致多線程下類(lèi)釋放后還在使用的錯(cuò)誤問(wèn)題
Lambda表達(dá)式是現(xiàn)代C++的一個(gè)語(yǔ)法糖,挺好用的。但是如果使用不當(dāng),會(huì)導(dǎo)致內(nèi)存泄露或潛在的崩潰問(wèn)題,這里總結(jié)下c++ lambda捕獲this 導(dǎo)致多線程下類(lèi)釋放后還在使用的錯(cuò)誤問(wèn)題,感興趣的朋友一起看看吧2023-02-02
C/C++?Qt?TableDelegate?自定義代理組件使用詳解
TableDelegate自定義代理組件的主要作用是對(duì)原有表格進(jìn)行調(diào)整,本文主要介紹了QT中TableDelegate?自定義代理組件的使用教程,感興趣的朋友可以了解一下2021-12-12
C語(yǔ)言實(shí)現(xiàn)掃雷小游戲簡(jiǎn)單版
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷小游戲簡(jiǎn)單版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07

