2015-10-26 43 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