【发布时间】:2019-04-14 10:21:36
【问题描述】:
我尝试在我正在进行的项目中使用GetAsyncKeyState。唯一的问题是我不知道它返回什么值,以及如何检查它。根据MSNdocumentation:
类型:短
如果函数成功,则返回值指定自上次调用 GetAsyncKeyState 后是否按下了键,以及该键当前是向上还是向下。如果设置了最高有效位,则按键按下,如果设置了最低有效位,则在上一次调用 GetAsyncKeyState 后按键被按下。但是,您不应该依赖最后一种行为;有关详细信息,请参阅备注。
我知道SHORT 类型是一个数字,但我在 StackOverflow 和互联网上看到了很多不同的答案,但是当 GetAsyncKeyState 评估为真时,它的返回值是什么,它返回 0 还是 0x8001?
【问题讨论】:
-
它返回一组标志,编码为单个 16 位值。该文档解释了各个标志是什么以及它们的存储位置。您遇到的具体问题是什么?
-
测试最后一位是否设置的规范方法是测试
<0 -
@IInspectable 问题是按下键时返回什么值?它会返回该键的十六进制值还是其他数字?我已经相应地编辑了我的问题。
-
@DavidHeffernan 如果设置了最后一位,它将是一个吗?
-
你问错问题了。当按下相应的键时,它会返回不同的值,但它总是会返回值,其中设置了最高有效位。