我正在尝试使用的项目中使用GetAsyncKeyState
。唯一的问题是我不知道它返回什么值,以及如何检查它。根据MSN documentation:
类型:简短
如果函数成功,则返回值指定自上次调用 GetAsyncKeyState 以来是否按下了该键,以及该键当前是向上还是向下。如果设置了最高有效位,则该键处于按下状态;如果设置了最低有效位,则在上次调用 GetAsyncKeyState 后按下了该键。但是,您不应该依赖于此最后的行为。有关更多信息,请参见“备注”。
我知道类型SHORT
是一个数字,但是我在StackOverflow和互联网上看到了很多不同的答案,但是GetAsyncKeyState的返回值是true时,它的返回值是多少,返回0还是0x8001?
答案 0 :(得分:3)
返回值可以是4个可能值之一:
使用& 0x8000
(或< 0
,因为SHORT
是带符号的类型)来检查是否设置了“最高有效位”(这使带符号的类型为负)。
使用& 0x0001
检查是否设置了“最低有效位”。