サブフォルダの検索 †Windows上の指定フォルダ(ディレクトリ)以下にあるすべてのファイルについて検索を実施する。 制約 †.NET関数・MFCを使用しないこと。 void ListFile( TCHAR* path ) { HANDLE hfind; WIN32_FIND_DATA w32fd; TCHAR subPath [80]; hfind = FindFirstFile( path, &w32fd ); if( hfind != INVALID_HANDLE_VALUE ) { path[strlen(path) - 3] = '\0'; do { // if( ( ( w32fd.cFileName != _T(".") ) && ( w32fd.cFileName != ".." ) ) ) //!なぜかうまく働かない if( strcmp( w32fd.cFileName, ".." ) > 0 ) // !なぜか1文字のディレクトリも検索できる { if( (w32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY ) { _stprintf( subPath, "%s\%s\\*.*", path, w32fd.cFileName ); // !_stprintf_sが使えない(ヘッダ×?) // MessageBox( NULL, subPath, "StyleMod", MB_OK ); // 確認用 ListFile( subPath ); } else { MessageBox( NULL, w32fd.cFileName, "StyleMod", MB_OK ); } } } while( FindNextFile( hfind, &w32fd ) ); FindClose( hfind ); } return; } 参考ページ † |