void FindFile(LPTSTR strPath) //strPath="C:\\a\\" { TCHAR strRoot[MAX_PATH]; TCHAR strSearchFile[MAX_PATH]; TCHAR strOut[MAX_PATH]; WIN32_FIND_DATA fData; ZeroMemory(strRoot, sizeof(strRoot)); ZeroMemory(strSearchFile, sizeof(strSearchFile)); ZeroMemory(strOut, sizeof(strOut)); ZeroMemory(&fData, sizeof(WIN32_FIND_DATA)); lstrcpy(strSearchFile, strPath); lstrcat(strSearchFile, _T("*.*")); HANDLE hFile = FindFirstFile(strSearchFile, &fData); if(hFile == INVALID_HANDLE_VALUE) return; do { if(fData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY && lstrcmp(fData.cFileName, _T(".")) && lstrcmp(fData.cFileName, _T(".."))) //Windows下有2个默认目录"."和".." { lstrcpy(strRoot, strPath); lstrcat(strRoot, fData.cFileName); lstrcat(strRoot, _T("\\")); FindFile(strRoot); } else { if(lstrcmp(fData.cFileName, _T(".")) && lstrcmp(fData.cFileName, _T(".."))) { lstrcpy(strOut, strPath); lstrcat(strOut, fData.cFileName); ListBox_AddString(m_hWnd, strOut); //输出文件名到ListBox ZeroMemory(strOut, sizeof(strOut)); } } }while(FindNextFile(hFile, &fData) != 0); FindClose(hFile); return ; }
以上代码只是简单实现了遍历目录下的文件。给自己留个记号。以后说不定要用到!