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