vector<CString> vecStr;
VOID GetFolderIncldFile(CString strFolder, CString strFile)
{
TCHAR szFind[MAX_PATH]; // 要找的文件类型
TCHAR szFindAll[MAX_PATH]; // 找所有文件
TCHAR szFliePath[MAX_PATH]; // 找到的文件
WIN32_FIND_DATA FindFileData;
strcpy(szFind,strFolder.GetBuffer(0));
strcat(szFind,"\");
strcat(szFind,strFile);
strcpy(szFindAll,strFolder.GetBuffer(0));
strcat(szFindAll, "\*.*");
strcpy(szFliePath,strFolder.GetBuffer(0));
strcat(szFliePath, "\");
// 1、找文件 2、找目录 3、对目录重复步骤1、2
// 找指定的文件
HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE != hFind)
{
while (TRUE)
{
if(!(FindFileData.dwFileAttributes &FILE_ATTRIBUTE_DIRECTORY)) // 非目录才进去
{
TCHAR szTmp[MAX_PATH];
strcpy(szTmp, szFliePath);
strcat(szTmp, FindFileData.cFileName);
vecStr.push_back(szTmp);
}
if(!FindNextFile(hFind,&FindFileData)) break;
}
FindClose(hFind);
}
// 找所有文件,查找其中的目录
hFind = ::FindFirstFile(szFindAll,&FindFileData);
if(INVALID_HANDLE_VALUE != hFind)
{
while(TRUE)
{
if(FindFileData.dwFileAttributes &FILE_ATTRIBUTE_DIRECTORY) // 是目录才进去
{
if('.' != FindFileData.cFileName[0])
{
strcpy(szFind,strFolder.GetBuffer(0));
strcat(szFind,"\");
strcat(szFind,FindFileData.cFileName);
GetFolderIncldFile(szFind, strFile);
}
}
if(!FindNextFile(hFind,&FindFileData)) break;
}
FindClose(hFind);
}
}