就是这样的简单任务,还是会出错。鼠标钩子运行时,无法正常停止,只能通过注销用户结束程序。
KeyHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, glhInstance, dwThreadID );
//MouseHook = SetWindowsHookEx(WH_MOUSE, KeyboardProc, glhInstance, dwThreadID );LRESULT WINAPI KeyboardProc(int nCode,WPARAM wparam,LPARAM lparam)

char buffer[10];
_itoa( wparam, buffer, 10);
if (nCode < 0)
         {
               return CallNextHookEx(KeyHook,nCode,wparam,lparam);
         }
         if (nCode != HC_ACTION)
         {
               return CallNextHookEx(KeyHook,nCode,wparam,lparam);
         }
if (!::FindWindow(0, "KeyBoard Locked"))
{
::MessageBox(0,buffer,"KeyBoard Locked",MB_OK);
}
if (m_bOperator)
{
SendMessage( m_hWndMain, AS_SENDMSG, 0, 0);
return CallNextHookEx(KeyHook, nCode, wparam, lparam );//继续传递消息 
}
else
return 1;
}