本帖最后由 asasj57 于 2010-05-21 20:25:44 编辑

解决方案 »

  1.   

    fd.m_ofn.hwndOwner=你的窗口,不要=0
      

  2.   

    sysFile.m_ofn.hwndOwner=m_hWnd;
    我这样写不好试
    这个应该怎么写呀,能发出来,完整的代码吗?
      

  3.   

    sysFile.m_ofn.hwndOwner=  这里的值代码,应该怎么写呀~!
      

  4.   

    你写的代码结果与别人的不一样,主要是因为你写的代码部分FileDialog已经结束返回了,故你自己弹出的MessageBox后边无背景
    请将你的代码中的CFileDialog sysFile(FALSE,NULL,NULL,0,"可执行文件(*.exe)|*.exe|");
    改为CFileDialog sysFile(FALSE,NULL,NULL,OFN_OVERWRITEPROMPT,"可执行文件(*.exe)|*.exe|");
    并去除你写的MessageBox,因为是多余的
      

  5.   

            sysFile.m_ofn.hwndOwner   =   PreModal();   
            AfxUnhookWindowCreate();   
            if(sysFile.m_ofn.hwndOwner   !=   NULL   &&   ::IsWindowEnabled(bEnableParent   m_ofn.hwndOwner))   
            {   
                  ::EnableWindow(sysFile.m_ofn.hwndOwner,   FALSE);   
            }   
      

  6.   

    这个用OFN_OVERWRITEPROMPT就可以了,不用自己写的。