在调用菜单前用PostMessage(GetSafeHwnd(),WM_NULL,0,0);这样会好一些,但NT里海是不行......

解决方案 »

  1.   

    SetCapture(GetSafeHwnd());//That makes the mouse move message pass to your program no matter where is it.remember:ReleaseCapture();
      

  2.   

    我用的是windows2000 server,楼上说的行不?
    PostMessage(GetSafeHwnd(),WM_NULL,0,0);具体是什么意思?
      

  3.   

    mouse 可以用hook
    菜单不消失这事好想
    Microsoft 做的也有这问题吧.....
      

  4.   

    那SetCapture(GetSafeHwnd());不是得到的当前主窗口,怎么判断鼠标移动是否离开了对话框?
      

  5.   

    在收到右键点击时先调用SetForegroundWindow();然后再显示菜单。
    这样就可以了。并且弹出的菜单如果不选择,在屏幕上点击鼠标,菜单也会消失。
      

  6.   

    thank :yu_hl(卖火柴的小男孩)