函数GetKeyState()返回一个包含密钥状态的SHORT(高位中的上/下,并以低位切换).我如何获得这些价值观?
Chr*_*isV 11
简单的位操作将起作用.SHORT是16位整数,因此要获得低位和高位,您可以执行以下操作:
lowBit = value & 1;
highBit = ((unsigned short) value) >> 15;
Run Code Online (Sandbox Code Playgroud)
另请注意,LOBYTE和HIBYTE宏用于将SHORT分解为低位和高位字节,而不是测试字节中的各个位.
这不是你如何使用GetKeyState()的返回值.这样做是这样的:
SHORT state = GetKeyState(VK_INSERT);
bool down = state < 0;
bool toggle = (state & 1) != 0;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16370 次 |
| 最近记录: |