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)文章
C語(yǔ)言鏈表實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言鏈表實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
C語(yǔ)言實(shí)現(xiàn)順序表的基本操作指南(注釋很詳細(xì))
線性表是最簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu),而順序表又是最簡(jiǎn)單的線性表,其基本思想是用一段地址連續(xù)的儲(chǔ)存單元依次存儲(chǔ)線性表的數(shù)據(jù)元素,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言實(shí)現(xiàn)順序表的基本操作,需要的朋友可以參考下2021-10-10
VS2019簡(jiǎn)單快速的打包可安裝項(xiàng)目(圖文教程)
這篇文章主要介紹了VS2019簡(jiǎn)單快速的打包可安裝項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
在C語(yǔ)言中轉(zhuǎn)換時(shí)間的基本方法介紹
這篇文章主要介紹了在C語(yǔ)言中轉(zhuǎn)換時(shí)間的基本方法,分別是mktime()函數(shù)和localtime()函數(shù)的使用,需要的朋友可以參考下2015-08-08
C語(yǔ)言?超詳細(xì)模擬實(shí)現(xiàn)單鏈表的基本操作建議收藏
單鏈表是后面要學(xué)的雙鏈表以及循環(huán)鏈表的基礎(chǔ),要想繼續(xù)深入了解數(shù)據(jù)結(jié)構(gòu)以及C語(yǔ)言,我們就要奠定好這塊基石!接下來(lái)就和我一起學(xué)習(xí)吧2022-03-03
C++實(shí)現(xiàn)編碼轉(zhuǎn)換的示例代碼
這篇文章主要介紹了C++實(shí)現(xiàn)編碼轉(zhuǎn)換的示例代碼,幫助大家快捷的實(shí)現(xiàn)編碼轉(zhuǎn)換,感興趣的朋友可以了解下2020-08-08
Linux下實(shí)現(xiàn)C++操作Mysql數(shù)據(jù)庫(kù)
由于工作需要抽出一周的時(shí)間來(lái)研究C/C++訪問(wèn)各種數(shù)據(jù)庫(kù)的方法,并打算封裝一套數(shù)據(jù)庫(kù)操作類,現(xiàn)在奉上最簡(jiǎn)單的一部分:在Linux下訪問(wèn)MySQL數(shù)據(jù)庫(kù)。2017-05-05

