Вы можете использовать GetKeyState
или GetAsyncKeyState
, но это не даст вам нажатия клавиш / keyup. Он только скажет вам, какие ключи в данный момент не работают.
Так что, если вам действительно нужно получить события keydown / keyup, вы можете установить ловушку.
Окно консоли имеет дескриптор окна, которому принадлежит код в Windows, и насос сообщений, также принадлежащий коду в Windows.
Вы можете получить дескриптор окна окна консоли, используя GetConsoleWindow Затем установите хук WH_CALLWNDPROC
, используя SetWindowsHookEx для прослушивания сообщений, отправляемых в окно консоли.
Вместо этого вы можете попробовать WH_MSGFILTER
hook. Я не знаю, работает ли это для консольных окон, но это будет генерировать меньше сообщений, которые будут игнорироваться, если это работает.