Нажатие нескольких кнопок одновременно - C#
Формулировка задачи:
Доброго времени суток.
Возникла проблема, экзаменационная игра в консоле. Мне надо одновременно отлавливать нажатие кнопок влево / вправо / пробел.
Но не получается это делать одновременно, т.е. надо отпустить "влево" и нажать "пробел", а игрушка Galaxy, надо что бы при зажатой клавише в сторону, можно было обработать нажатие пробела(выстрелить ракетой). Получается пасивное управление, очень неудобно. Помогите пожалуйста.
P.S. Думал выиграю тем, что буду обрабатывать кнопки влево/вправо в одном потоке а кнопку пробел в другом. И только хуже стало = (...
Заранее всем спасибо.
Решение задачи: «Нажатие нескольких кнопок одновременно»
textual
Листинг программы
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
static extern short GetAsyncKeyState(ConsoleKey vk);
static void Main(string[] args)
{
Console.WriteLine("ожидает нажатие на клавиши");
for (; ; )
{
if (GetAsyncKeyState(ConsoleKey.LeftArrow) != 0 && GetAsyncKeyState(ConsoleKey.Spacebar) != 0)
Console.WriteLine("нажаты обе кнопки");
}