![]() |
斯文的数据线 · 常微分方程和偏微分方程的区别-CSDN博客· 1 年前 · |
![]() |
卖萌的青椒 · 从贵妃到女婢再到孝慈仁皇后——容妃传奇又悲凉 ...· 1 年前 · |
![]() |
粗眉毛的松鼠 · 【专题】谣盐! ...· 1 年前 · |
![]() |
腼腆的茶叶 · 空气开关和漏电保护器有什么区别?能不能混用- 知乎· 1 年前 · |
我希望再现任何给定文件的Windows ->属性对话框->常规属性页中显示的行为。具体来说,我想要重现“磁盘上的大小”字段的确切值。
发布于 2012-03-28 16:07:58
正如其他人所说的,您需要使用
GetFileInformationByHandleEx
,但是看起来您需要使用
FILE_STANDARD_INFO
或
FILE_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 包含文件名字符串的第一个字符。在内存中,后面跟着字符串的其余部分。
我不知道德尔菲会怎么处理这件事。
https://stackoverflow.com/questions/9903679
复制相似问题
![]() |
斯文的数据线 · 常微分方程和偏微分方程的区别-CSDN博客 1 年前 |
![]() |
卖萌的青椒 · 从贵妃到女婢再到孝慈仁皇后——容妃传奇又悲凉的一生! 1 年前 |
![]() |
腼腆的茶叶 · 空气开关和漏电保护器有什么区别?能不能混用- 知乎 1 年前 |