Вы можете получить отдельные ключи (например, клавишу ctrl), набрав Console.KeyAvailable
, а затем прочитав Console.ReadKey
, но это не скажет вам, когда они отпустят клавишу. Вам, вероятно, придется перехватить сообщение WM_KEYDOWN
и вызвать GetAsyncKeyState
для каждой клавиши, чтобы вы могли определить, какие из специальных клавиш (control, shift, alt и т. Д.) В данный момент не работают.
По крайней мере, это то, что я помню, когда делал, когда писал игры.