有人可以解釋此代碼的第一部分,以及如何啓用標準I/O的使用,而不是有限的範圍。提前致謝。什麼是wincon.h庫? 我想從鍵盤箭頭獲取輸入(領航員)鍵盤箭頭作爲輸入源
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <wincon.h>
void main()
{
HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE);
DWORD NumInputs = 0;
DWORD InputsRead = 0;
bool running = true;
INPUT_RECORD irInput;
GetNumberOfConsoleInputEvents(hInput, &NumInputs);
while(running)
{
ReadConsoleInput(hInput, &irInput, 1, &InputsRead);
// std::cout << irInput.Event.KeyEvent.wVirtualKeyCode << std::endl;
switch(irInput.Event.KeyEvent.wVirtualKeyCode)
{
case VK_ESCAPE:
running = false;
//Quit The Running Loop
break;
case VK_LEFT:
case VK_NUMPAD4:
// move it left
std::cout << "left";
break;
case VK_UP:
case VK_NUMPAD8:
// move it up
std::cout << " up" ;
break;
case VK_RIGHT:
case VK_NUMPAD6:
// move it right
std::cout << "Right";
break;
case VK_DOWN:
case VK_NUMPAD2:
// move it down
std::cout << "down";
break;
}
}
system ("pause");
}
非常感謝你的幫助,非常感謝。我不會自己編寫代碼,我試圖找到一種方法來使用鍵盤箭頭來獲取輸入,以便沿着我正在處理的遊戲中的列表上下移動光標,這就是我在上面找到的所以我想問。如果您可以建議更簡單或更清晰的其他方式,請提前致謝 –
您的問題中的功能適用於閱讀「原始」鍵盤輸入。問題出在「混合」標準輸入。 –