c++ - 如何通过 Windows API 获取文件夹大小

标签 c++ windows

<分区>

在 Windows 操作系统上,我们可以使用右键单击文件夹,它会显示包含文件夹大小信息的属性信息。现在,我想使用 Windows API 来获取文件夹大小,我不想使用 FindFirstFile/FindNextFile 来枚举所有文件。提前致谢。

我尝试了下面的代码,但是,它返回了带有无效数据的大小。

HANDLE hFile = CreateFile(tsFolderPath.c_str(), GENERIC_READ, FILE_SHARE_READ, 
    NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_BACKUP_SEMANTICS, NULL); 

LARGE_INTEGER fileSize; 
GetFileSizeEx(hFile, &fileSize);
CloseHandle(hFile);

最佳答案

据我所知,没有API函数可以直接检索文件夹的大小。您必须遍历包含的文件。

编辑: 考虑关于 SO 的类似问题:

关于c++ - 如何通过 Windows API 获取文件夹大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18503879/

相关文章:

c - 是否可以在 Windows api 中覆盖 MFT 文件表?

c++ - 尝试使用 boost 库时缺少 gmp.h

c++ - 在 Windows 上管道传输到 ffmpeg

c++ - 如何访问带量词的 Z3 表达式

windows - 以某种方式能够在 Windows 8 中启用 UAC 的情况下写入 ProgramData

c++ - Windows API 用于 C++ GUI 编程的优势

c++ - Visual Studio Code 标记错误

c# - Windows 7剪贴板复制粘贴操作使用C#

c++ - 如何声明数组成员变量的getter/setter方法

c++ - 为什么代码没有cout?