如果我同时按下,键盘上的4个字母键,电脑,是否知道我同时按下了哪几个按键?

来源:百度知道 编辑:UC知道 时间:2024/05/24 09:47:12
我设定,当ASDF被同时按下时,触发某事件,请问,改如何写这个语句?

有先后的.

你永远都无法同时按下4个键,无论如何,在计算机看来,都有先后,即使间隔极小(比如说几毫秒,甚至更小),计算机都能识别。
正因为有先后顺序,所以操作系统会做相应的处理,当然也提供API给程序员们使用,用来处理相应的消息

人脑的反应没有电脑快,所以你不可能同时按下4个键,即使你认为你是同时按下4个键的,但是电脑的接受到的信息是有先后的。

这个需要用软件来检测
比如windows的ctrl+alt+del,系统中有这个命令,你三个键同时按下,系统能有相应的反应。如果你按的组合键,系统中没有这个命令,它就不会检测,除非你装相应软件。

if(wParam == 'a'||wParam == 's'||wParam == 'd'||wParam == 'f')
if(GetKeyState('A')<0&&GetKeyState('S')<0&&GetKeyState('D')<0&&GetKeyState('F')<0)
{
//asdf同时被按下
}

注意GetKeyState函数的参数字母一定要大写,否则不能识别。函数用法可参考我空间里的文章。

系统应该不识别,得 分别击入