-32767为什么返回此函数?

时间:2014-04-04 22:59:14

标签: c

我到处寻找这个问题的答案,为什么-32767或&使用下面的函数时,0x8000返回为键

if(GetAsyncKeyState(KeyCapture) == -32767) 
{
Printf(“KeyCapture”);
}

字面上无法在任何地方找到这个答案,我需要了解这个功能是如何工作的!为什么这个数字或十六进制值!

1 个答案:

答案 0 :(得分:1)

您是否尝试过MSDN

  

如果设置了最高有效位[0x8000],则键为关闭,如果设置了最低有效位[0x0001],则在上次调用GetAsyncKeyState后按下该键。

-32767 = 0x8001,因此设置了上述两个位。