但是目录里的文件都删光了的
奇怪的是在一种情况下才出现的:目录里的一个文件在被我打开过后才导致目录不能删除的,(目录里的文件已删光)不打开里面的文件可以删除
打开文件的代码 CFileDialog FileDlg(true,string1,NULL,OFN_FILEMUSTEXIST,string2,NULL);
if(FileDlg.DoModal() == IDOK)
{
filePath=FileDlg.GetPathName();
ShellExecute(NULL, "open", filePath, NULL, NULL, SW_SHOW);
}
在删除目录里的文件时,所有的文件属性都设置为普通文件了的

解决方案 »

  1.   


    CFile file;
    if (!file.Open(m_strPath,CFile::modeRead))
    {
    CString strError;
    strError.Format(_T("数据库'%s'已被其它程序占用!"),m_strOldFileName);
    AfxMessageBox(strError);
    return;
    }
    else
    {
    file.Close();
    }
      

  2.   

    应该是有对这个目录访问的句柄没有关闭导致的。
    可以用procexp查看下。
      

  3.   

    其实可以无视这个问题……
    貌似windows本身问题,文件删掉了,目录不能删,因为文件被释放,目录却还被占用。提示,“无法删除,目录非空”。
    这种情况,还是让用户自己删吧~
      

  4.   


    me too,
    我也遇到过这样的问题。