在 Windows 7 中,似乎只有当文件是.dll
/.exe
文件时才有可能在属性对话框中查看文件的版本号;如果文件扩展名是.ax
,则不会显示文件的版本号。
我可以更改哪些设置来为.ax
文件启用此功能?
答案1
Windows 可执行格式(包括 EXE 和 DLL 扩展名的文件)能够专门保存该元数据。对于任何其他文件类型,这不仅需要文件格式具有该元数据,还需要 Windows 资源管理器知道如何恢复元数据。例如,当您在 Windows 7 中单击 ODT 文件时,除非您安装了 OpenOffice.org 或 LibreOffice,否则不会显示有关该文件的任何信息,它们注册了一个组件,Windows 资源管理器可以使用该组件在资源管理器窗口中显示文档的作者和标题等信息。
答案2
答案3
你提出的问题很神秘。
下面我列出了我所做的工作,虽然没有真正的答案,只是一个猜测。
正如您所说,“文件版本”仅显示 .dll,而不会显示 .ax,尽管 .ax 代表实现编解码器的 dll。
我已将 .ax 重命名为 .dll,令我惊讶的是,我发现现在在属性和弹出窗口中都显示“文件版本”,而以前并没有显示。
下一站是注册表,尝试HKEY_CLASSES_ROOT\.dll
与进行比较HKEY_CLASSES_ROOT\.ax
。另一个惊喜: HKEY_CLASSES_ROOT\.ax
不存在。
啊哈!我立即导出了HKEY_CLASSES_ROOT\.dll
,将所有出现的 替换为dll
,ax
然后重新导入注册表并验证了 的存在
HKEY_CLASSES_ROOT\.ax
,现在它与 相同HKEY_CLASSES_ROOT\.dll
。
结果:什么都没有。Explorer 仍然拒绝显示 .ax 的“文件版本”。
还有一个:要尝试强制 Explore 显示“文件版本”,请右键单击其列标题,选择“更多...”并选中“文件版本”。结果:除非将 .ax 重命名为 .dll 或 .exe,否则不会显示版本。
我唯一能给出的结论是,“文件版本”的显示是内置于 Explorer 程序本身中,针对众所周知的可执行文件扩展名,只有 .dll 和 .exe。
在编制此列表时,微软不幸完全忘记了 .ax,也忘记了 .scr(用于屏幕保护程序的 dll)。
(所有测试均在 Windows 7 下完成。)
答案4
即使在更改 HKEY_CLASSES_ROOT\SystemFileAssociations\.ax!FullDetails 以强制文件版本属性出现在详细信息选项卡上后,Windows 资源管理器仍然拒绝从文件格式中提取信息。
看起来你需要第三方财产处理程序针对文件类型或外壳扩展,在其他地方显示信息(预览处理程序、属性表处理程序等)。 magicandre1981 建议的就是这样的属性表处理程序。