[問題] 請問ReadConsoleInput的使用說明
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
dev cpp
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
#include<iostream>
#include<stdio.h>
#include<windows.h>
問題(Question):
我最近寫了一個程式,可以上下左右去移動游標,可是我是用
if(kbhit()){
c=getch();
if(c==77)right(); //如果c等於鍵盤的→,也就是ascii的77,
//就進入right的副程式去向右移動
}
可是我發現有人用ReadConsoleInput這函式來控制上下左右,我爬文之後實在是看不懂
這函式的使用方法,
BOOL WINAPI ReadConsoleInput(
__in HANDLE hConsoleInput,
__out PINPUT_RECORD lpBuffer,
__in DWORD nLength,
__out LPDWORD lpNumberOfEventsRead
);
我想請問各位高手這函式所給的四個引數分別是什麼意思?
然後我在這裡爬文到之前有位tropica172的高手所示範程式碼如下:
void key_control()
{
static DWORD count;
static INPUT_RECORD ir;
ReadConsoleInput (HIN, &ir, 1, &count);
if (!ir.Event.KeyEvent.bKeyDown) return;
switch (ir.Event.KeyEvent.wVirtualKeyCode) {
case VK_ESCAPE: Exit = true; break;
case VK_DOWN :Down(); break;
case VK_LEFT :Left(); break;
case VK_RIGHT:Right(); break;
case VK_UP :Up(); break;
}
}
想請問這副程式的if跟switch是分別在判斷什麼東西?
這判斷跟ReadConsoleInput有關連嗎?
感謝
--
好想忘記這故事 只是記憶無法隨自己的意願所更改
也不能添增自己想要的幻想 無法逃避的現實
走了幾段路 跑了幾條街 進了幾扇門
不少的日出與黑夜 終究還是得面對
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.32.47
※ 編輯: yoll522 來自: 114.34.32.47 (03/06 10:21)
推
03/06 10:27, , 1F
03/06 10:27, 1F
→
03/06 10:34, , 2F
03/06 10:34, 2F
→
03/06 10:34, , 3F
03/06 10:34, 3F
推
03/06 13:16, , 4F
03/06 13:16, 4F
→
03/06 13:17, , 5F
03/06 13:17, 5F
→
03/06 13:18, , 6F
03/06 13:18, 6F
→
03/06 18:51, , 7F
03/06 18:51, 7F
→
03/06 18:51, , 8F
03/06 18:51, 8F
→
03/06 18:52, , 9F
03/06 18:52, 9F
→
03/06 18:55, , 10F
03/06 18:55, 10F
→
03/06 18:55, , 11F
03/06 18:55, 11F
→
03/06 18:55, , 12F
03/06 18:55, 12F
→
03/06 18:55, , 13F
03/06 18:55, 13F
→
03/06 18:56, , 14F
03/06 18:56, 14F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章