检测按下的按键和按键释放的事件

时间:2012-10-14 10:40:13

标签: c++ c windows winapi

每当发生按键事件时,都会调用以下函数:

static LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {

   printf("Key is pressed !\n");
   // If key pressed down,call function A
   // If key released , call function B
}

如何检测这些事件?

按下的键可以是来自窗口键盘的任何键。我只想知道按下后是否按下了按键。我该怎么做?

1 个答案:

答案 0 :(得分:1)

static LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) 
{
     if ( nCode >= 0 )
     {
         if ( wParam == WM_KEYDOWN  || wParam == WM_SYSKEYDOWN )
         {
             functionA();
         }
         else
         {
             functionB();
         }
     }
     return CallNextHookEx(hHook, nCode, wParam, lParam);
}