Warm tip: This article is reproduced from serverfault.com, please click

windows-阅读“扩展”文件属性(C ++)

(windows - Read 'Extended' file properties (C++))

发布于 2020-11-29 15:41:32

有没有一种方法可以仅使用c ++代码在“详细信息”选项卡下获取任何文件的所有属性和值?
所有扩展的文件属性:链接
我见过C#的解决方案,但没有C ++的解决方案。关联
png文件的文件属性

我已经研究了可以访问文件属性常量fileapi.h函数GetFileAttributesA(),例如FILE_ATTRIBUTE_COMPRESSED, FILE_ATTRIBUTE_READONLY...

甚至GetFileAttributesExA()withGetFileExMaxInfoLevel也无法返回所有需要的信息。

if (FileAttributes & FILE_ATTRIBUTE_COMPRESSED) {
    std::cout << "File is compressed.";
}
if (FileAttributes & FILE_ATTRIBUTE_READONLY) {
    std::cout << "File is a readonly file.";
}

我认为文件属性应该有类似的东西GetFilePropertiesExA()
但是到目前为止找不到任何类似的功能。
另外,我还可以使用获取诸如创建日期,修改日期和大小之类的信息WIN32_FIND_DATA

Questioner
Baron von Hoot
Viewed
0
tdoecke 2021-01-21 04:49:34

是Microsoft提供的一些示例代码,用于读取/写入文件属性。它使用WinAPI读取文件属性。

你可以在此处找到可用属性的列表

根据你要执行的操作,你还可以查看这些 PROPVARIANT功能。例如,当你要将属性的值存储到字符串中时。