void EnumeratePathFolders(LPCTSTR lpPathName)
{
WIN32_FIND_DATA fd;
CString s = lpPathName;
if (s.Right(1).Compare(_T("//")) != 0)
s = s + _T("//");
HANDLE hFind = FindFirstFile(s + _T("*.*"), &fd);
if (INVALID_HANDLE_VALUE == hFind) return;
BOOL bFind = TRUE;
while (bFind)
{
if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{ // directory
if ((_tcscmp(fd.cFileName, _T(".")) != 0) && (_tcscmp(fd.cFileName, _T("..")) != 0 ))
{
TRACE(_T("/n文件夹:%s"), s + fd.cFileName);
EnumeratePathFolders(s + fd.cFileName + _T("//"));
}
}
else
{ // file
_tcslwr(fd.cFileName); // 变成小写格式
if (_tcsstr(fd.cFileName, _T(".exe")) != NULL)
{ // 指定的文件
TRACE(_T("/n文件:%s"), s + fd.cFileName);
}
}
bFind = FindNextFile(hFind, &fd);
}
FindClose(hFind);
}
void EnumerateFolders()
{
TCHAR szDrivers[255];
DWORD dwBufferSize = 255;
DWORD dwRealSize = GetLogicalDriveStrings(dwBufferSize, szDrivers);
if (0 == dwRealSize) return; // function fails
if (dwRealSize > dwBufferSize) return; // buffer is not large enough
TCHAR szDrv[4];
UINT uiDrvType;
// get all drivers
for (int i = 0; i < dwRealSize; i = i + 4)
{
_tcscpy(szDrv, &szDrivers[i]);
TRACE(_T("/n%s "), szDrv);
uiDrvType = GetDriveType(szDrv);
if ((DRIVE_FIXED == uiDrvType)) // disk
{
TRACE(_T("DRIVE_FIXED"));
//EnumeratePathFolders(szDrv);
}
}
}
{
WIN32_FIND_DATA fd;
CString s = lpPathName;
if (s.Right(1).Compare(_T("//")) != 0)
s = s + _T("//");
HANDLE hFind = FindFirstFile(s + _T("*.*"), &fd);
if (INVALID_HANDLE_VALUE == hFind) return;
BOOL bFind = TRUE;
while (bFind)
{
if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{ // directory
if ((_tcscmp(fd.cFileName, _T(".")) != 0) && (_tcscmp(fd.cFileName, _T("..")) != 0 ))
{
TRACE(_T("/n文件夹:%s"), s + fd.cFileName);
EnumeratePathFolders(s + fd.cFileName + _T("//"));
}
}
else
{ // file
_tcslwr(fd.cFileName); // 变成小写格式
if (_tcsstr(fd.cFileName, _T(".exe")) != NULL)
{ // 指定的文件
TRACE(_T("/n文件:%s"), s + fd.cFileName);
}
}
bFind = FindNextFile(hFind, &fd);
}
FindClose(hFind);
}
void EnumerateFolders()
{
TCHAR szDrivers[255];
DWORD dwBufferSize = 255;
DWORD dwRealSize = GetLogicalDriveStrings(dwBufferSize, szDrivers);
if (0 == dwRealSize) return; // function fails
if (dwRealSize > dwBufferSize) return; // buffer is not large enough
TCHAR szDrv[4];
UINT uiDrvType;
// get all drivers
for (int i = 0; i < dwRealSize; i = i + 4)
{
_tcscpy(szDrv, &szDrivers[i]);
TRACE(_T("/n%s "), szDrv);
uiDrvType = GetDriveType(szDrv);
if ((DRIVE_FIXED == uiDrvType)) // disk
{
TRACE(_T("DRIVE_FIXED"));
//EnumeratePathFolders(szDrv);
}
}
}