每当我将鼠标光标悬停在 Windows 资源管理器中的可执行文件类型(.exe
、.dll
等)上时,它只会在工具提示中显示文件的类型、大小和(修改)日期,而不是公司、版本、说明等。
这在 Windows XP 中曾经有效,但 Windows 7 显示的信息较少,这令人沮丧,因为我经常需要快速轻松地获取这些信息(不,打开特性对话框或添加列不是解决方案)。
我如何让 Explorer 在工具提示中显示文件的所有相关信息?(如果在底部的预览窗格中也显示该信息,则可以获得加分。)
答案1
不幸的是,研究没有结果(特别是因为 Windows 的这一方面没有特别好的记录),但是经过一些测试和实验后,我最终弄明白了。
属性系统
在 Windows XP 中,Windows 资源管理器在工具提示和状态栏中显示的信息量有限。在 Windows Vista 中,他们实现了属性系统它提供了更多可以显示的内置元数据(虽然不是自定义数据,这也是导致整个文件夹大小问题)。除了提供更多类型的元数据显示外,Vista 及更高版本还允许以更多方式显示元数据方式和地点。
慢媒体
通常,当您将鼠标光标悬停在文件(或文件夹)上时,Windows 会InfoTip
从注册表中查询相关条目,并根据指定条目中的属性显示所选项目的所有元数据。但是,出于性能原因,当文件存储在网络驱动器或闪存驱动器等慢速媒体上时,Windows 不会读取必须从文件本身读取的元数据。例如,如果文件位于存储卡或 DVD 上,它将不会读取 MP3 标签或可执行版本等;它只会提供它已经从目录中读取的基本信息,例如大小和修改时间戳,因为它已经通过获取目录列表读取了所有元数据。
黑客
因此,工具提示中只显示类型、大小和日期的原因是文件位于慢速媒体上。不幸的是,没有(已知的)注册表项可以配置为告诉 Windows 显示指定的元数据,而不管文件存储在哪里,但有一种解决方法可以实现相同的效果[1]。
当 Windows 检测到文件存储在“慢速”介质上并提示显示工具提示时,InfoTip
它不会查询条目,而是读取QuickTip
条目。后一个条目是相同的,但默认情况下只列出了类型、大小和修改日期属性。要强制 Windows 显示您想要的信息,只需将内容复制InfoTip
到QuickTip
。
警告
显然这会对性能产生影响,因此,如果将鼠标悬停在 CD、网络驱动器等上的 MP3、EXE 等文件上时出现稍长的延迟,请不要感到惊讶。
预览窗格
为了获取在预览窗格中显示的所需信息,请将相关的元数据属性添加到PreviewDetails
条目中。
状态栏
不幸的是,Vista 使得状态栏基本上变得毫无用处,因此现在没有已知的方法可以让所需的信息显示在那里。
级联属性
需要注意的是,Windows 使用级联模型来确定属性优先级。当它检查注册表中要显示的元数据时,它会按顺序检查几个位置。
首先,它会检查文件扩展名以确定其文件类型。如果未找到,它会检查文件类型的相关条目(InfoTip
、QuickTip
、PreviewDetails
等)Unknown
。如果确实找到了该文件的现有类型,它会检查根文件类型的属性列表,然后返回到 中的扩展名SystemFileAssociations
,最后返回到万能类型。
例如,对于可执行文件(.exe
),它将检查以下内容:
HKCR\.exe
查找exefile
与扩展关联的类型HKCR\exefile
获取属性列表(例如InfoTip
);如果没有找到……HKCR\SystemFileAssociates\.exe
获取属性列表;如果没有找到...HKCR\*
获取属性列表
对于未注册的文件类型(例如.foobar
),它将执行以下操作:
HKCR\.foobar
并发现它不存在(或没有指定文件类型)HKCR\Unknown
获取属性列表
由于这方面没有很好的记录,希望任何需要这些信息的人现在都能找到他们正在寻找的内容。