多个同时按键c#

hal*_*l12 4 c# keydown

我正在使用microsoft visual studio c#编写游戏,我必须同时捕获很多键.我无法同时检测Q,W,E,R,T,Y但我可以检测到Q,W,E,R,T,A.

我尝试使用KeyDown,[DllImport("user32.dll")]但两者都有相同的结果.Y键和A键有什么区别?如何解决这个问题?

int code1 = GetVirtualKeyCode(Keys.Q);
int code2 = GetVirtualKeyCode(Keys.W);
int code3 = GetVirtualKeyCode(Keys.E);
int code4 = GetVirtualKeyCode(Keys.R);
int code5 = GetVirtualKeyCode(Keys.T);
int code6 = GetVirtualKeyCode(Keys.Y);
if ((array[code1] & 0x80) != 0 &&
    (array[code2] & 0x80) != 0 &&
    (array[code3] & 0x80) != 0 &&
    (array[code4] & 0x80) != 0 &&
    (array[code5] & 0x80) != 0 &&
    (array[code6] & 0x80) != 0)
{
    listBox1.Items.Add("asdasdasd");
}
Run Code Online (Sandbox Code Playgroud)

Lau*_* S. 5

它可能与您的键盘有关.当我是游戏玩家时,我知道键盘的属性可以同时发送多次击键; 根据键盘的不同,数字会有所不同,但不同的组合也会或不会起作用.