我嘗試註冊某個鍵已打開或關閉這樣的:繃鍵/ C++
if (pKeyBuffer[VK_TAB] & 0xFF81)
{
functionA();
}
if (pKeyBuffer[VK_TAB] & 1)
{
functionB();
}
但是有一個很大的問題在上面的代碼 - 的VK_TAB的狀態,在啓動時不知道因此,有時,我必須在運行時再次按Tab鍵將其設置爲默認狀態。
我不能使用普通'0xF0'或'0',因爲我無法承受functionA()
或functionB()
多次調用。我需要類似開關的行爲(即如果按下Tab鍵,即使它被按住, functionA()
仍然只執行一次)。
那麼有什麼辦法可以獲得關鍵狀態信息來執行第一次擊鍵?或者,也許你可以建議一些替代方法?謝謝!
你能舉個例子嗎? – 2012-02-26 06:24:09
@Abdulali:它的使用非常簡單,但我反正添加了示例(在MSDN鏈接中的示例之上...) – Necrolis 2012-02-26 06:27:36
GetKeyState()不起作用:從此函數返回的鍵狀態更改爲線程從其消息隊列中讀取關鍵消息。狀態並不反映與硬件相關的中斷級別狀態。使用GetAsyncKeyState函數從[GetKeyState](http://msdn.microsoft.com/en-us/library/windows/desktop/ms646301%28v=vs.85%29.aspx)備註部分檢索該信息。 – 2012-02-26 06:37:41