2015-10-26 42 views
2

假设我想检测大写锁定是否处于活动状态,因此如果这些按键是大写字母,那么我可以在Windows中使用C++中的什么功能?如何检测大写锁定是否已激活?

我需要的Console.CapsLock在C#中的等价

我已经使用GetAsyncKeyState(VK_CAPITAL)试过,但我不需要,我需要知道的“切换”状态

+2

我不明白[this](https://stackoverflow.com/questions/13905342/winapi-how-to-get-the-caps-lock-state)不能回答你的问题。请用你自己的话来定义“键状态”和“切换状态”之间的区别。 – CoryKramer

+1

@CoryKramer它不告诉我它是否被激活,它告诉我它何时被按下。 – Sam

+3

[GetKeyState()](http://msdn.microsoft.com/zh-cn/library/ms646301(VS.85) ).aspx)和'GetAsyncKeyState()'会返回键的切换状态,如果它是向上或向下。它存储在回报的最低有效位中。 – NathanOliver

回答

3

GeyKeyState价值的关键状态的(Win32 )有一个低位给出当前的触发状态。

+1

'(GetKeyState(VK_CAPITAL)&0x0001)!= 0'实际上这工作谢谢大家 – Sam