在MFC的基于对话框的应用程序中,如何在对话框的初始中,退出应用程序?
我的代码如下:
BOOL CtestDlg::OnInitDialog()
{
    //在初始的过程中,因为检测到了错误,因此置错误标志
     bool  err_flag =1;
    
    if(err_flag)
    {
        ::SendMessage( WM_QUIT,NULL,NULL); //程序运行到此处,没有退出,原因是此时窗口还没有显示,该如何处理    }
    
    return true;
}

解决方案 »

  1.   

    测试了一下,直接return FALSE 有问题.可能与初始化中调用别的有关.
      

  2.   

    exit(1); 程序退出了,在调试环境下,报告出 存在 内存泄露 
      

  3.   

    如果检测到错误,就先把资源问题等解决,作善后处理,然后return false
    if(err_flag)
    {
         DoSomething();  //善后处理
         return  FALSE;
    }
      

  4.   

    BOOL CtestApp::InitInstance()
    {#ifdef 
        _AFXDLL Enable3dControls();// Call this when using MFC in a shared DLL
    #else
        Enable3dControlsStatic(); // Call this when linking to MFC statically
    #endif    CtestDlg  dlg;
        m_pMainWnd = &dlg;    //在此处对 对话框中的数据进行初始  不知道 有什么影响
        bool  err_flag =1; 
        
        if(err_flag) 
        {     } 
        else
        {
             dlg.DoModal();
        }
        return FALSE;
    }
      

  5.   

    要PostQuitMessage,SendMessage不行。
      

  6.   

    PostQuitMessage(0);测试成功多谢cnzdgs