对于.exe和.dll文件,我可以创建一个可以在属性中看到的文件版本。我可以对 SQL 备份文件 (.bak( 执行相同的操作吗?
简短回答:
不。
长答案:
是的,但这并不容易。
Windows 资源管理器的文件属性的"详细信息"窗格用于*.exe
和*.dll
文件,该窗格是从文件中嵌入的VERSION
和VERSIONINFO
Win32 资源填充的,它不是外部元数据。
资源管理器确实允许外壳扩展为其他文件类型提供"详细信息"窗格内容。这就是资源管理器显示照片,视频和音乐中的元数据的方式。SQL Server 备份文件没有内置的 shell 扩展,但您可以创建自己的扩展。
该 API 称为IPropertySetStorage
,它涉及允许 Windows shell(文件资源管理器、通用对话框等(读取和选择性地写入文件元数据(这可以是内部或外部元数据(。
从技术上讲,Windows shell 扩展可以使用 C# 和 .NET 编写,但它不受支持,您可能会遇到问题 - 所以你需要用 C++ 或 Rust 编写它(我想你也可以尝试在 VB6 中构建它 - 除了这在 x64 计算机上不起作用,因为没有适用于 x64 的 VB6 编译器(。