读取 'Extended' 个文件属性 (C++)

Read 'Extended' file properties (C++)

有没有办法仅使用 C++ 代码获取详细信息选项卡下任何文件的所有属性和值?
所有扩展文件属性:link
我见过 C# 但不是 C++ 的解决方案。 link

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

即使 GetFileAttributesExA()GetFileExMaxInfoLevel 也无法 return 所有需要的信息。

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.

获取创建日期、修改日期和大小等信息

Here 是 Microsoft 的一些示例代码,用于 reading/writing 文件属性。它使用 WinAPI 读取文件属性。

您可以找到可用属性列表 here

根据您的需要,您还可以查看 these PROPVARIANT 函数。例如,当您想将 属性 的值存储到字符串中时。