自己写的一些旧代码归档一下。经典递归深层查找 /**/ ///-----------------------------------------------/////// Code by Acoma///-----------------------------------------------//// int SearchFile(LPTSTR Dir,LPTSTR * lpFss, int Count,HANDLE hFile) ... { LPTSTR crlf = _T(" "); LPTSTR strChar=_T("/"); WIN32_FIND_DATA FindData; HANDLE hSearch; TCHAR FileName[MAX_PATH]; int Files=0; for(int i=0;i<Count;i++) ...{ lstrcpy(FileName,Dir); lstrcat(FileName,strChar); lstrcat(FileName,lpFss[i]); DWORD temp = lstrlen(FileName); hSearch = FindFirstFileEx(FileName,FindExInfoStandard,&FindData, FindExSearchNameMatch, NULL, 0 ); if (hSearch!=INVALID_HANDLE_VALUE) ...{ do...{ DWORD written; WriteFile(hFile,Dir,lstrlen(Dir)*sizeof(TCHAR),&written,NULL); WriteFile(hFile,strChar,lstrlen(strChar)*sizeof(TCHAR),&written,NULL); WriteFile(hFile,FindData.cFileName,lstrlen(FindData.cFileName)*sizeof(TCHAR),&written,NULL); WriteFile(hFile,crlf,lstrlen(crlf)*sizeof(TCHAR),&written,NULL); Files++; }while(FindNextFile(hSearch,&FindData)); FindClose(hSearch); } lstrcpy(FileName,Dir); lstrcat(FileName,strChar); lstrcat(FileName,_T("*.*")); hSearch = FindFirstFileEx(FileName,FindExInfoStandard,&FindData, FindExSearchNameMatch, NULL, 0 ); if (hSearch!=INVALID_HANDLE_VALUE) ...{ do...{ if (!(FindData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) || ( FindData.cFileName[0]==_T('.')&&(FindData.cFileName[1]==0||(FindData.cFileName[1]==_T('.')&&FindData.cFileName[2]==0 ) ))) continue; lstrcpy(FileName,Dir); lstrcat(FileName,strChar); lstrcat(FileName,FindData.cFileName); Files+= SearchFile(FileName,lpFss,Count,hFile); }while(FindNextFile(hSearch,&FindData)); FindClose(hSearch); } } return Files;