我做了一个程序(主窗口可以隐藏,使用了托盘技术),采用互斥体的方式保证只能运行一个实例。现在我想在程序启动后再次试图启动程序时让已经运行的程序弹出主窗口。就象Winamp那样--启动后藏在系统托盘中播放音乐,再次双击它的应用程序或者快捷方式时谈出主窗口。请问如何实现?

解决方案 »

  1.   

    CWnd* m_Wnd=CWnd::FindWindow(NULL,"ExcOut");
        m_Wnd->wndTopMost;
    if (m_Wnd == NULL)
    {
    //WinExec( "ExcOut.exe", SW_SHOWNORMAL);
    ShellExecute(handle, NULL,"ExcOut.exe", NULL, NULL, SW_SHOWNORMAL);
    }
    else
    {
    m_Wnd->ShowWindow (SW_SHOWNORMAL);
    m_Wnd->BringWindowToTop ();
    }
      

  2.   


    可以先设定窗口的类名,然后用 FindWinow() 查找。
      

  3.   

    设定窗口的类名,然后用 FindWinow() 查找
      

  4.   

    或者运行的时候将应用程序的HWND写入注册表退出的时候删除
      

  5.   

    有人知道WINAMP或者是金山词霸是怎样实现的吗?