C++檢測鍵盤某鍵是否按下的方法
檢測鍵盤與鼠標(biāo)差不多,但是它比較好記
但是比較奇怪,比如你想要檢測字母,必須是它的大寫
具體的就參照虛擬鍵盤值表,上百度可以查到
為了能更清楚地表達(dá),我編了個(gè)小程序
#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){//檢測某個(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++檢測鍵盤某鍵是否按下的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 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)境/編寫運(yùn)行C、C++的教程詳解(Windows)【真正的小白版】
- C++實(shí)現(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++模擬鍵盤按鍵的實(shí)例
- C/C++獲取鍵盤事件的方法
- 淺談C++的幾種從鍵盤輸入方式
- C++鍵盤記錄程序代碼
- C++處理鍵盤輸入的方法
- c++調(diào)用windows鍵盤代碼詳情
相關(guān)文章
strcat函數(shù)實(shí)現(xiàn)簡單示例
這篇文章主要介紹了strcat函數(shù)實(shí)現(xiàn)簡單示例,需要的朋友可以參考下2014-03-03基于linux下C開發(fā)中的幾點(diǎn)技術(shù)經(jīng)驗(yàn)總結(jié)
本篇文章是對linux下C開發(fā)中的幾點(diǎn)技術(shù)經(jīng)驗(yàn)總結(jié)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C++實(shí)現(xiàn)LeetCode(23.合并k個(gè)有序鏈表)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(23.合并k個(gè)有序鏈表),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯(cuò)誤問題
Lambda表達(dá)式是現(xiàn)代C++的一個(gè)語法糖,挺好用的。但是如果使用不當(dāng),會(huì)導(dǎo)致內(nèi)存泄露或潛在的崩潰問題,這里總結(jié)下c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯(cuò)誤問題,感興趣的朋友一起看看吧2023-02-02C/C++?Qt?TableDelegate?自定義代理組件使用詳解
TableDelegate自定義代理組件的主要作用是對原有表格進(jìn)行調(diào)整,本文主要介紹了QT中TableDelegate?自定義代理組件的使用教程,感興趣的朋友可以了解一下2021-12-12