多键同时按c#

本文关键字: | 更新日期: 2023-09-27 18:14:33

我正在用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");
}

多键同时按c#

这可能与你的键盘有关。当我还是一名游戏玩家时,我便知道键盘能够同时发送多个按键是一种属性;根据键盘的不同,数字会有所不同,但不同的组合也会有不同的效果。

这就是所谓的键翻转。USB键盘只支持有限键翻转,而一些设计巧妙的PS/2键盘有n键翻转(可以同时按下许多许多键而不会静音其他按键)

阅读:维基百科描述

相关文章:
  • 没有找到相关文章