[問題] 請問ReadConsoleInput的使用說明

看板C_and_CPP (C/C++)作者 (yolling)時間14年前 (2012/03/06 10:19), 編輯推噓2(2012)
留言14則, 3人參與, 最新討論串1/1
開發平台(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
都查到 MSDN 了就去看看它的說明吧
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
http://ppt.cc/ygn 英文不好真的沒什麼差,msdn說明用
03/06 13:16, 4F

03/06 13:17, , 5F
到的文法與字彙不難,硬著頭皮讀還是讀得懂7.8成的.
03/06 13:17, 5F

03/06 13:18, , 6F
縮失敗, 補一下 http://ppt.cc/ygn;
03/06 13:18, 6F

03/06 18:51, , 7F
我大概猜了一下,請幫我看看這樣對不對
03/06 18:51, 7F

03/06 18:51, , 8F
ReadConsoleInput(讀入緩衝區, 將緩衝區的值存入這 )
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
另外我看到When a console is created,
03/06 18:55, 11F

03/06 18:55, , 12F
mouse input is enabled and window input is disabled.
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
文章代碼(AID): #1FLNGuh0 (C_and_CPP)
文章代碼(AID): #1FLNGuh0 (C_and_CPP)