// フォルダ列挙
typedef bool (*FILEENUMPROC)(LPCTSTR, LPWIN32_FIND_DATA, void*);
bool procFolders(LPCTSTR dir, FILEENUMPROC proc, void* param)
{
CString search;
search.Format(_T("%s\\*"), dir);
WIN32_FIND_DATA data;
HANDLE hFile = ::FindFirstFile(search, &data);
if(hFile == INVALID_HANDLE_VALUE) return false;
do{
if(lstrcmp(data.cFileName, _T(".") ) == 0) continue;
if(lstrcmp(data.cFileName, _T("..")) == 0) continue;
if(data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(!(*proc)(dir, &data, param)) return false;
}
}while(::FindNextFile(hFile, &data));
::FindClose(hFile);
return true;
}
最終更新:2012年02月15日 14:06