VC中在一个对话框中打开了另外的程序(exe)后对话框不能用了,按钮/关闭点击都没用,必须在任务管理器中才能关闭,求救。谢谢回答。

解决方案 »

  1.   

    需要使用多线程,在子线程中启动新的Exe,否则原程序没办法响应OnPaint事件.
      

  2.   

    晕...
      我替LZ 把   "VC中"  3字去掉...   
      (VC是个软件 好不好 ...)
      
    问题简单.
    其他的 楼下 继续...
      

  3.   

    是需要多线程,执行exe后,主线程不再接收消息了
      

  4.   

    LZ问题很模糊,似乎不是线程方面的问题。简单执行一个外部程序,可以这样:
    void CUtilitiesDlg::OnBtnExportLas() 
    {
    CString strExe = "LasWriter.exe";
    SHELLEXECUTEINFO info;
    ZeroMemory(&info, sizeof(SHELLEXECUTEINFO));
    info.cbSize = sizeof(SHELLEXECUTEINFO);
    info.lpVerb = "open";
    info.lpFile = strExe;
    info.lpParameters = NULL;
    info.fMask = SEE_MASK_NOCLOSEPROCESS;
    info.nShow = SW_SHOWDEFAULT;
    ShellExecuteEx(&info);
    // MessageBox("error!", "LasWriter.exe", MB_OK);
    }