我在WM_KEYDOWN事件里定义了esc键退出程序。运行的时候正常,但是当我点击了窗口上的一个按钮后,再按esc键却没有任何反映了。不知为什么。

解决方案 »

  1.   

    what kind of application do you have? dialog-based? show your code
      

  2.   

    按钮获得焦点后,FORM得不到KEYDOWN消息,
      

  3.   

    你有没有别的什么程序有HOOK的,比如很多程序HOOK程序的ESC键!
    比如你在程序运行时开了万能五笔,则ESC全被它收走了!
      

  4.   

    建议你在主窗口的里面继承
    PreTranslateMessage(MSG* pMsg) //函数
    {
    if(pMsg->message==WM_KEYDOWN
    {
            if(pMsg->wParam==1)
                {
                     //do 
               }
    }
    }
      

  5.   

    强烈同意 volcary(冰火山) ,我一小时前就遇到这个问题,在PreTranslateMessage()处理解决得很好。