读取“扩展”的文件属性(C++)

3
有没有一种仅使用C++代码就可以获取任何文件详细选项卡下的所有属性和值的方法?
所有扩展文件属性: 链接
我已经看到了C#的解决方案,但没有C++的。 链接
png文件的文件属性 我已经研究了fileapi.h中的GetFileAttributesA()函数,它让我可以访问文件属性常量,例如FILE_ATTRIBUTE_COMPRESSED、FILE_ATTRIBUTE_READONLY...
即使使用GetFileAttributesExA()GetFileExMaxInfoLevel也无法返回所有所需信息。
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获取关于文件创建日期,修改日期和大小等信息。

1
看这个:https://learn.microsoft.com/zh-cn/windows/win32/wic/-wic-about-metadata - Florent
@Florent:那MP3或XLS格式呢? - user2120666
1
https://learn.microsoft.com/en-us/windows/win32/properties/windows-properties-system - user2120666
非常感谢,我会仔细阅读。 - Baron von Hoot
1个回答

3
这里是来自Microsoft的一些示例代码,用于读取/写入文件属性。它使用WinAPI来读取文件属性。
您可以在此处找到可用属性的列表。
根据您想要做什么,您还可以查看这些PROPVARIANT函数。例如,当您想要将属性的值存储到字符串中时。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接