/******************************************************************
函数名 :EnumFiles
参数 :LPCTSTR lpPath 目标文件夹, LPCTSTR lpExt 要搜索的文件
名,留空表示所有文件
返回值 :是否找到
功能描述 :示例:EnumFiles("C:\\windows\\system32", "*.dll");
Dev hankcs 2010
******************************************************************/
BOOL EnumFiles(LPCTSTR lpPath, LPCTSTR lpExt = NULL)
{
char szFindCmd[MAX_PATH] = "";
WIN32_FIND_DATA FindFileData;
strcpy(szFindCmd, lpPath);
strcat(szFindCmd, "\\*.*");
HANDLE hFind = ::FindFirstFile(szFindCmd, &FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return FALSE;
while(TRUE)
{
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if (FindFileData.cFileName[0] != '.')
{
// 文件夹
char szSubFolder[MAX_PATH] = "";
sprintf(szSubFolder, "%s\\%s", lpPath, FindFileData.cFileName);
EnumFiles(szSubFolder, lpExt);
}
}
if(!FindNextFile(hFind,&FindFileData)) break;
}
FindClose(hFind);
if (lpExt == NULL)
{
sprintf(szFindCmd, "%s\\*.*", lpPath);
}
else
{
sprintf(szFindCmd, "%s\\%s", lpPath, lpExt);
}
hFind = ::FindFirstFile(szFindCmd, &FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return FALSE;
while(TRUE)
{
if(! (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
// 文件
char szBuffer[MAX_PATH] = "";
sprintf(szBuffer, "%s\\%s", lpPath, FindFileData.cFileName);
//MSGBOX(szBuffer);
// 找到的文件的路径是szBuffer,在这里加入你的图像处理代码
}
if(!FindNextFile(hFind,&FindFileData)) break;
}
FindClose(hFind);
return TRUE;
}
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。