ディレクトリ(フォルダ)一覧を取得する方法

FindFirstFile()とFindNextFile()を使います。

// Cドライブ直下のフォルダ一覧を取得
WIN32_FIND_DATA find_dir_data;
CString dir_search_path = "c:\\*";
HANDLE hFind = FindFirstFile(dir_search_path , &find_dir_data);
do{
	if( hFind != INVALID_HANDLE_VALUE ) {
		if( strcmp( find_dir_data.cFileName, "." ) &&
			strcmp( find_dir_data.cFileName, ".." )
		){
			if( find_dir_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) {
				// フォルダ
				AfxMessageBox(find_dir_data.cFileName);
			}else{
				// ファイル
			}
		}
	}
}while(FindNextFile(hFind,&find_dir_data));


サブディレクトリを巡回していく処理などは参考サイトをみてね


参考

.NETで始めるC 入門―ANSI/ISO準拠、VC .NET,VC 6.0 BorlandC 5.5対応