HOOKPROC hookproc = (HOOKPROC)GetProcAddress(hmodHook, "KeyboardSpyProc");
ASSERT(hookproc != NULL);
g_hhkKbd = SetWindowsHookEx(WH_KEYBOARD_LL, hookproc, hmodHook, 0);回调中:LRESULT CALLBACK KeyboardSpyProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    //略....处理down时记录要拦截的按键code    //对按键长按做拦截,如果上一个down下且没up,而且当前down的键值vkCode和之前down下的键值g_prevKey一样,则返回TRUE;
    if ( g_prevKey == vkCode && !wALTDown && !wShiftDown )
return 1L;
    if( 收到up事件 )
    {
      g_prevKey = 0;//重置记录上一个code的变量
      return 1L;
     }
    return CallNextHookEx(NULL,nCode,wParam,lParam);
}
这样在快速多次按下我要拦截的那个键后,发现会进不到KeyboardSpyProc的回调。而且在xp和vista下没事,就win7会这样,不知道是为什么。
谢谢~