Я пытаюсь обнаружить, когда активно нажата клавиша с помощью GetAsyncKeyState (так как я хочу использовать асинхронную проверку также).GetAsyncKeyState - проверка наиболее значимого бита в C#
Маскировка самого знакового бита и проверка ненулевого значения должны сделать трюк для моего понимания, однако некоторые пользователи моего программного обеспечения обнаруживают, что случайные нажатия клавиш обнаруживаются, что они не нажаты, это проблема с моим методом или есть какой-то фактор, о котором я не знаю?
[DllImport("user32.dll")]
private static extern short GetAsyncKeyState(Keys vKey);
public static bool IsKeyDown(Keys vKey)
{
return ((GetAsyncKeyState(vKey) & 0x8000) != 0);
}
Спасибо, что это хорошо, так, кажется, более элегантно. –