GetKeyboardState和GetKeyboardState 函数:.docVIP

  • 18
  • 0
  • 约2.04千字
  • 约 5页
  • 2017-05-28 发布于河南
  • 举报
GetKeyboardState和GetKeyboardState 函数:

GetKeyboardState 函数: BOOL GetKeyboardState(PBYTE pbKeyState); 这个函数的唯一参数是一个指向由 256 个字节所组成的数组的指针。调用后,这个数组将内含目前线程的「同步按键状态数组」的一份拷贝复本。就像GetKeyState 函数一样,数组中每一个字节的最高位表示「最近一次从线程的队列中取得消息时,按键是否被按下」,而最低位表示「如果按键是个切换(toggle)键,是否它被切换了」。 线程可以利用GetKeyboardState 函数来取得数个按键的状态。想要检查一个虚拟键的状态,只需将虚拟键码当做索引值,查阅这个数组即可。举个例子,如果要检查看看空格键(Spacebar)是否被按下,就这么做: BYTE pbKeyState[256]; BOOL fSpaceIsDown; GetKeyboardState(pbKeyState); fSpaceIsDown = (pbKeyState[VK_SPACE] 0x80) != 0; 当一个消息正被处理时,线程可以调用GetKeyboardState 函数,取得目前的「同步按键状态数组」的一份「快照」,将它储存到一个全域数组或静态数组之中,然后在未来处理消息时,使用这个数组。这种键盘「快照」并不常被使用,但常和 SetKeyboardState函数一起合作: BOOL Se

文档评论(0)

1亿VIP精品文档

相关文档