-1

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

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
}

如何检测这些事件?

按下的键可以是窗口键盘中的任何键。我只想知道一个键是被按下还是在按下后被释放。我该怎么做呢 ?

4

1 回答 1

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);
}
于 2012-10-14T10:44:32.110 回答