青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

我住包子山

this->blog.MoveTo("blog.baozishan.in")

Win32命令行應(yīng)用,ReadConsoleInput()得到鍵盤VK_CODE

image

    ReadConsoleInput是一個(gè)Win32 API,  聲明如下:

BOOL ReadConsoleInput(
  HANDLE hConsoleInput, //輸入句柄
  PINPUT_RECORD lpBuffer, //指向INPUT_RECORD結(jié)構(gòu)體(數(shù)組)的指針
  DWORD nLength, //上面那個(gè)結(jié)構(gòu)體的大小
  LPDWORD lpNumberOfEventsRead //實(shí)際讀入輸入內(nèi)容的個(gè)數(shù)
);

    我把讀入的功能寫在這個(gè)助手類中,ReadConsoleInput的得到VK_CODE的方法可以看ReadKeyDown和ReadKeyPush兩個(gè)函數(shù),它們的效果略有點(diǎn)不同。右圖是效果截圖,按ESC跳出循環(huán)。助手類以后還可以添加顏色控制位置控制等功能,只要你想,目的就是為了簡化API調(diào)用。

#pragma once
#include <Windows.h>
class GohanConsoleHelper
{
    HANDLE _hIn;
    HANDLE _hOut;
    INPUT_RECORD _InRec;
    DWORD _NumRead;
public:
    WORD VKey;
    GohanConsoleHelper(void){
        _hIn = GetStdHandle(STD_INPUT_HANDLE);
        _hOut = GetStdHandle(STD_OUTPUT_HANDLE);
        VKey=0;
    }
    bool ReadOneInput()
    {
        return 0!=ReadConsoleInput(_hIn,&_InRec,1,&_NumRead);
    }
    bool ReadOneInput(INPUT_RECORD& InRec)
    {
        return 0!=ReadConsoleInput(_hIn,&InRec,1,&_NumRead);
    }
    DWORD ReadKeyDown()
    {
        if(!ReadConsoleInput(_hIn,&_InRec,1,&_NumRead))
            return 0;
        if(_InRec.EventType!=KEY_EVENT)
            return 0;
        if(_InRec.Event.KeyEvent.bKeyDown > 0)
            return 0;
        VKey = _InRec.Event.KeyEvent.wVirtualKeyCode;
        return VKey;
    }
    DWORD ReadKeyPush()
    {
        if(!ReadConsoleInput(_hIn,&_InRec,1,&_NumRead))
            return 0;
        if(_InRec.EventType!=KEY_EVENT)
            return 0;
        if(_InRec.Event.KeyEvent.bKeyDown == 0)
            return 0;
        VKey = _InRec.Event.KeyEvent.wVirtualKeyCode;
        return VKey;
    }
public:
    ~GohanConsoleHelper(void){}
};
 
 

 

main所在文件內(nèi)容

#include <windows.h>
#include <iostream>
#include "GohanConsoleHelper.h"
using namespace std;
int main()
{
    GohanConsoleHelper gch;
    while (true)
    {
        if(gch.ReadKeyPush()!=0) //使用ReadKeyDown()捕獲按鍵彈起的VK_CODE
        {
            if(gch.VKey != VK_ESCAPE)
                cout<<"VK_CODE == "<<gch.VKey<<endl;
            else {
                cout<<"Bye~~"<<endl;
                break;
            }
        }
    }
    return 0;
}

 

    在命令行得到VK_CODE可以干許多事情了,可以寫個(gè)在Win32命令行下的小游戲,俄羅斯方塊啊什么的,呵呵,不過畫面稍微好點(diǎn)的就搞不了了,因?yàn)楫吘箇in32命令行分辨率太低了。

   忘了放出參考的資料:

http://adrianxw.dk/ 比較全面的Win32命令行教程

posted on 2008-05-23 00:08 Gohan 閱讀(6189) 評論(5)  編輯 收藏 引用 所屬分類: C++Practise

Feedback

# re: Win32命令行應(yīng)用,ReadConsoleInput()得到鍵盤VK_CODE 2008-05-23 09:46 Leewings

開學(xué)的時(shí)候想過去學(xué)API,不過....一直都沒有去學(xué)誒.  回復(fù)  更多評論   

# re: Win32命令行應(yīng)用,ReadConsoleInput()得到鍵盤VK_CODE 2008-05-23 15:24 Gohan

@Leewings
我也沒有怎么學(xué)過,想用的時(shí)候查查,用過的就留點(diǎn)印象吧,呵呵  回復(fù)  更多評論   

# re: Win32命令行應(yīng)用,ReadConsoleInput()得到鍵盤VK_CODE 2008-05-25 22:04 wangyucao

看不懂啊……  回復(fù)  更多評論   

# re: Win32命令行應(yīng)用,ReadConsoleInput()得到鍵盤VK_CODE 2008-05-26 10:21 Kevin Lynx

貌似console下也可以調(diào)用GetAsyncKeyState   回復(fù)  更多評論   

# re: Win32命令行應(yīng)用,ReadConsoleInput()得到鍵盤VK_CODE 2008-05-26 12:50 Gohan

@Kevin Lynx
謝謝你的指點(diǎn),我沒用過這個(gè)API,我想應(yīng)該可以用,http://msdn.microsoft.com/en-us/library/ms646293,這個(gè)GetAsyncKeyState是異步判斷是否按了某一個(gè)鍵,更加簡單,而ReadConsoleInput可以直接獲得按的什么鍵以及其它的命令行輸入事件,而且是阻塞的,用起來麻煩,呵呵  回復(fù)  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩国产综合新一区| 91久久久久久久久| 亚洲日本中文| 欧美精品粉嫩高潮一区二区| 亚洲狼人精品一区二区三区| 欧美成黄导航| 美女在线一区二区| 亚洲精品视频一区二区三区| 91久久综合亚洲鲁鲁五月天| 欧美日韩三级| 亚洲欧美成人一区二区在线电影| 亚洲视频成人| 国产日韩欧美精品一区| 久久久久久一区二区| 快射av在线播放一区| 亚洲第一福利视频| 亚洲人成在线播放网站岛国| 国产精品视频免费一区| 老司机67194精品线观看| 免费观看欧美在线视频的网站| 亚洲最黄网站| 亚洲一区二区三区四区在线观看| 国产热re99久久6国产精品| 免费成人网www| 欧美日韩精品一区二区三区| 久久精品91久久久久久再现| 欧美激情免费在线| 欧美与欧洲交xxxx免费观看| 久久在线免费观看| 亚洲欧美99| 免费观看在线综合色| 先锋影音国产精品| 欧美福利一区二区三区| 香蕉久久一区二区不卡无毒影院 | 久久久久在线观看| 欧美成人一区二区三区| 亚洲欧美一区二区激情| 狂野欧美一区| 久久er精品视频| 欧美黄色免费网站| 久久综合九色综合欧美狠狠| 欧美日韩视频在线| 麻豆成人av| 国产伦精品一区二区三区照片91| 欧美激情中文不卡| 国产亚洲欧洲997久久综合| 亚洲精品永久免费精品| 在线国产精品播放| 亚洲一卡二卡三卡四卡五卡| 亚洲精品一区二区在线| 欧美在线观看网址综合| 亚洲欧美一区二区激情| 欧美久久一级| 亚洲第一主播视频| 国产在线精品二区| 亚洲自拍偷拍麻豆| 亚洲午夜精品一区二区| 欧美大尺度在线观看| 欧美午夜免费影院| 亚洲欧美日韩成人| 欧美精品综合| 欧美高清在线观看| 激情文学一区| 久久国产精品一区二区三区| 欧美在线观看网站| 国产欧美精品一区二区三区介绍| 日韩视频免费观看高清在线视频 | 欧美亚洲第一区| 91久久精品国产91性色tv| 亚洲国产成人av| 葵司免费一区二区三区四区五区| 久久这里有精品视频| 国内精品视频666| 久久九九99| 亚洲成人在线视频网站| 日韩视频一区二区三区| 欧美成人情趣视频| 亚洲欧洲精品一区二区三区 | 国产精品久线观看视频| 亚洲视频电影在线| 欧美一区二区三区精品| 国产日产精品一区二区三区四区的观看方式| 这里只有精品丝袜| 欧美一区二区福利在线| 国内外成人免费激情在线视频| 欧美主播一区二区三区美女 久久精品人 | 欧美日本韩国在线| 中国成人亚色综合网站| 午夜免费电影一区在线观看| 国内揄拍国内精品少妇国语| 久久综合99re88久久爱| 亚洲人成在线播放| 欧美一区二区日韩一区二区| 国内视频精品| 欧美国产三区| 亚洲午夜精品久久久久久app| 久久超碰97中文字幕| 亚洲第一精品电影| 欧美日韩精品二区第二页| 亚洲综合社区| 欧美18av| 午夜在线观看免费一区| 黄色成人在线| 欧美日韩国产综合网| 欧美在线免费观看视频| 91久久久久久国产精品| 久久精品国产99国产精品澳门| 亚洲国产婷婷香蕉久久久久久99| 国产精品va在线播放我和闺蜜| 欧美专区福利在线| 99国产精品| 麻豆成人在线播放| 亚洲亚洲精品三区日韩精品在线视频| 国产精品一区三区| 欧美伦理一区二区| 久久九九免费| 中国亚洲黄色| 欧美激情一区二区三区在线视频观看 | 亚洲午夜一区| 欧美亚洲一区在线| 亚洲激情在线观看| 国产精品免费一区二区三区在线观看| 久久久久久一区二区| 中日韩午夜理伦电影免费| 美女视频一区免费观看| 亚洲欧美网站| 99热免费精品在线观看| 国产自产精品| 国产精品va在线| 欧美精品免费播放| 久久久久国产成人精品亚洲午夜| 亚洲婷婷综合久久一本伊一区| 亚洲国产精品传媒在线观看| 欧美在线free| 亚洲欧美国产不卡| 在线视频中文亚洲| 亚洲精选一区| 91久久国产自产拍夜夜嗨| 国内欧美视频一区二区| 国产亚洲欧美一区在线观看| 国产精品毛片| 国产精品都在这里| 欧美天天影院| 欧美日韩一区不卡| 欧美日本中文字幕| 欧美精品久久久久久久免费观看 | 亚洲国产精品999| 欧美a一区二区| 免费在线观看日韩欧美| 久久理论片午夜琪琪电影网| 久久疯狂做爰流白浆xx| 午夜欧美精品| 久久成人精品一区二区三区| 久久国产精品一区二区| 久久久久久香蕉网| 老鸭窝毛片一区二区三区| 裸体素人女欧美日韩| 欧美成人a视频| 亚洲二区在线观看| 亚洲破处大片| 99成人精品| 亚洲一区国产| 久久国产精品高清| 免费久久精品视频| 欧美日韩一区二区在线观看视频 | 欧美一区二区三区视频在线观看 | 91久久国产自产拍夜夜嗨| 亚洲精品视频在线播放| 99综合在线| 亚洲欧美中文日韩v在线观看| 欧美怡红院视频| 美女主播精品视频一二三四| 欧美精品久久天天躁| 国产精品久久亚洲7777| 国产一区二区三区av电影| 在线观看欧美一区| 亚洲视频www| 久久久久久网址| 亚洲激情婷婷| 午夜精品影院在线观看| 免费av成人在线| 欧美三级第一页| 亚洲在线视频| 另类国产ts人妖高潮视频| 欧美日韩视频在线观看一区二区三区 | 亚洲欧美日韩精品一区二区| 久久婷婷成人综合色| 欧美日韩精品一二三区| 国产在线视频欧美一区二区三区| 亚洲精品偷拍| 久久精品一区二区三区四区| 最新精品在线| 久久久精品国产99久久精品芒果| 欧美日韩久久精品| 一色屋精品视频在线观看网站| 亚洲天堂网在线观看| 免费中文日韩| 亚洲欧洲av一区二区三区久久| 欧美精品高清视频| 一色屋精品视频在线观看网站|