Я хочу использовать клавиши со стрелками на языке Си с командой GetAsyncKeyState(VK_UP) (и VK_LEFT, ...).
GetAsyncKeyState(VK_UP)
Но я не знаю, как я могу использовать команду switch в этих случаях ** VK_UP, VK_LEFT ... ** Кто-нибудь может мне помочь?
GetAsyncKeyState не возвращает код виртуальной клавиши. Возвращает состояние клавиши вниз или вверх. Он также не принимает массив в качестве параметра.
GetAsyncKeyState
Но вы можете реализовать это.
псевдокод:
bool Active = true; char lastKeyPress; while(Active) { for(int i=8; i<190; i++){ if(GetAsyncKeyState(i)) checkKey(i) } } void checkKey(int key) { swtch(key) { case VK_F1: case VK_F2: //and so on.. } }
И для получения дополнительной информации вы можете просматривать здесь Keylogging и GetKeyboardState функция .