两个菜单使用不同进程的WindowHandle(HWND).试试。
可以告诉我TPM_RECURSE具体有什么作用吗?

解决方案 »

  1.   

    谢谢你这么快答复!!我试过用DestopWindow的hWnd, 没用, 我可以再试试。
    另外TrackPopupMenu本身还是有点问题的,可以算上是
    小bug吧. 比如说弹出后立即消失或者在点击了menu以外
    的地方它也不自动消失。 你遇到过吗?
    这两个问题我虽然解决了但我还想知道更多的解决这些
    问题的方法。
    另外我刚在msdn里查到了这样的话
    "Only one popup menu can be tracked in the system at any given time."
    问题是经常在windows里见到两个menu一起显示的情况。
    也许应该在不同的进程里调用TrackPopupMenu吧
    TPM_RECURSE.. 我把MSDN里这段话摘给你
    TrackPopupMenuWindows 98, Windows NT 5.0 and later: Use the TPM_RECURSE flag to display a menu when another menu is already displayed. This is intended to support context menus within a menu. 
      

  2.   

    在trackpopupmenu前,增加
    SetForegroundWindows();