如何使用C ++检查大写锁定是否打开/关闭?

时间:2015-04-18 20:05:12

标签: winapi

我需要检查Caps-Lock是打开还是关闭。

我试过这个功能

bool CheckKeyState()
{
   if ((GetKeyState(VK_CAPITAL) & 0x0001)!=0)
      return true;

    return false;

}

我必须包含Windows库

#include <Windows.h>

但它正在恢复真正的天气,无论是开启还是关闭。

我做错了什么?如何检查Caps-Lock是否打开?

1 个答案:

答案 0 :(得分:1)

如果您遇到GetAsyncKeyState( int vKey )

问题,我会使用GetKeyState( )

更具体一点:

GetAsyncKeyState( VK_CAPITAL );
  

要检索单个键的状态信息,请使用GetKeyState函数。要检索单个键的当前状态,无论是否已从消息队列中检索到相应的键盘消息,请使用GetAsyncKeyState函数。

Documentation

您的程序必须具有能够正确检查KeyState的重点。

如果所有这些都不适合您,只需使用SetWindowsHookEx Function编写一个键盘挂钩。