哎呀,加一个全局变量就可以了。好象是互拆变量。看以前的帖子

解决方案 »

  1.   

    BOOL CXXXX::InitInstance()
    {
    .......
    // 如果不是第一个实例, 则直接返回
    if( IsFirstInstance() == FALSE )
    return FALSE;
    .......
    return TRUE;
    }
    BOOL CXXXX::IsFirstInstance()
    {
    CWnd* pwndFirst = CWnd::FindWindow( (LPCSTR)gcszWindowClass, (LPCSTR)NULL ); if( pwndFirst ) {
    // 其他实例已经在运行 - 激活它
    CWnd* pwnd = pwndFirst->GetLastActivePopup();    
    pwndFirst->SetForegroundWindow();
    if( pwndFirst->IsIconic() )
    pwndFirst->ShowWindow( SW_SHOWNORMAL );
    if( pwndFirst != pwnd )
    pwnd->SetForegroundWindow(); m_bFirstInstance = FALSE;
    }
    else
    // 当前为应用的第一个实例
    m_bFirstInstance = TRUE; return m_bFirstInstance;
    }