枚举我的电脑内所有的文件夹
将我的电脑上的硬盘以及每个硬盘的文件夹,还有文件夹包含的子文件夹,一直向内嵌套,直到它没有子文件夹。将它们给枚举出来。我自己写了一些,可以将我电脑上的硬盘给枚举出来,要将每个硬盘的文件夹给枚举出来,应该是可以递归的,我不知如何进行下去,请各位指教。共同探讨一下。 问题点数:40、回复次数:6Top
1 楼Mr_Ldh(__int64 milliseconds)回复于 2005-08-02 18:09:45 得分 0
用FindFirstFile、FindNextFile等Top
2 楼bobob(静思)回复于 2005-08-02 18:15:09 得分 0
我自己写的一个,可以列举给定目录下所有文件名字
void ListFolder(CString sPath){
CFileFind ff; BOOL bFound = ff.FindFile(sPath + "\\*.*");
while(bFound){ bFound = ff.FindNextFile();
CString sFilePath = ff.GetFilePath();
if(ff.IsDirectory()){
if(!ff.IsDots())
ListFolder(sFilePath);
} else ListFile(sFilePath);//这里记录的就是所有的文件
}
ff.Close();
} Top
3 楼seansoe(www.sysmgmt.com.cn)回复于 2005-08-02 22:34:42 得分 0
用FindFirstFile、FindNextFileTop
4 楼xiaoxiaols()回复于 2005-08-03 09:07:43 得分 0
不是要用SHGetDesktopFolder SHGetSpecialFolderLocation EnumObjects 等这些Shell 函数吗,不然你怎么知道有几个硬盘呢Top
5 楼bobob(静思)回复于 2005-08-03 09:15:09 得分 0
你不是说已经知道有几个盘了吗?
ListFolder("c:\\");
ListFolder("d:\\");
....Top
6 楼seansoe(www.sysmgmt.com.cn)回复于 2005-08-03 09:42:11 得分 0
GetLogicalDriveStrings()可以得到有几个磁盘,然后用用FindFirstFile、FindNextFileTop




