Несколько возможных причин, по которым функция GetAsyncKeyState() на C++ WinAPI может не возвращать правильное значение при нажатии:
Согласно документации, возвращаемое значение функции указывает, была ли клавиша нажата с момента последнего вызова GetAsyncKeyState и находится ли клавиша в данный момент вверх или вниз. 3 Если задан самый значительный бит, клавиша не работает, а если задан наименьший значимый бит, клавиша была нажата после предыдущего вызова GetAsyncKeyState. 3 Однако не следует полагаться на это последнее поведение. 3
Для обработки ввода или автоматизации пользовательского интерфейса GetAsyncKeyState, вероятно, не лучший выбор, для этого следует использовать другие функции. 4