首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何查询“磁盘上的大小”文件信息?

如何查询“磁盘上的大小”文件信息?
EN

Stack Overflow用户
提问于 2012-03-28 08:24:36
回答 5查看 3.3K关注 0票数 7

我希望再现任何给定文件的Windows ->属性对话框->常规属性页中显示的行为。具体来说,我想要重现“磁盘上的大小”字段的确切值。

EN

Stack Overflow用户

回答已采纳

发布于 2012-03-28 16:07:58

正如其他人所说的,您需要使用GetFileInformationByHandleEx,但是看起来您需要使用FILE_STANDARD_INFOFILE_ID_BOTH_DIR_INFO。您想要的信息在每个目录的AllocationSize成员中返回,但第二个是目录句柄,用于列出目录内的文件,而不是目录本身(注意:不是递归的,只是顶层的)。为了使它更简单,FILE_STANDARD_INFO有一个Directory布尔值,所以如果您不确定,就先调用它。根据FILE_ID_BOTH_DIR_INFO的文档,

AllocationSize包含指定为文件分配多少空间(以字节为单位)的值。此值通常是基础物理设备扇区或群集大小的倍数。

这似乎为您提供了Size on Disk信息。

我还没有找到FILE_ID_BOTH_DIR_INFO结构的Delphi翻译。困难似乎是最终成员WCHAR FileName[1],它被描述为:

FileName1 包含文件名字符串的第一个字符。在内存中,后面跟着字符串的其余部分。

我不知道德尔菲会怎么处理这件事。

票数 3
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9903679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档