static void DeleteDirectory(const CString& strDir)
{
    if (strDir.IsEmpty())
    {
        RemoveDirectory(strDir);
        return;
    }
    //首先删除文件及子文件夹 
    CFileFind   ff;
    BOOL bFound = ff.FindFile(strDir + _T("\\*"), 0);
    while (bFound)
    {
        bFound = ff.FindNextFile();
        if (ff.GetFileName() == _T(".") || ff.GetFileName() == _T(".."))
            continue;
        //去掉文件(夹)只读等属性 
        SetFileAttributes(ff.GetFilePath(), FILE_ATTRIBUTE_NORMAL);
        if (ff.IsDirectory())
        {
            //递归删除子文件夹 
            DeleteDirectory(ff.GetFilePath());
            if (!RemoveDirectory(ff.GetFilePath()))
            {
                CString strTempPath;
                strTempPath.Format(L"删除%s失败,请手动清除。", ff.GetFilePath());
                AfxMessageBox(strTempPath);
            }
        }
        else
        {
            if (!DeleteFile(ff.GetFilePath()))
            {
                CString strTempPath;
                strTempPath.Format(L"删除%s失败,请手动清除。", ff.GetFilePath());
                AfxMessageBox(strTempPath);
            }
        }
    }
    ff.Close();
    //然后删除该文件夹 
    //RemoveDirectory(strDir);
}