属性系统

属性系统

每当我将鼠标光标悬停在 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 显示您想要的信息,只需将内容复制InfoTipQuickTip

警告

显然这会对性能产生影响,因此,如果将鼠标悬停在 CD、网络驱动器等上的 MP3、EXE 等文件上时出现稍长的延迟,请不要感到惊讶。

预览窗格

为了获取在预览窗格中显示的所需信息,请将相关的元数据属性添加到PreviewDetails条目中。

状态栏

不幸的是,Vista 使得状态栏基本上变得毫无用处,因此现在没有已知的方法可以让所需的信息显示在那里。

级联属性

需要注意的是,Windows 使用级联模型来确定属性优先级。当它检查注册表中要显示的元数据时,它会按顺序检查几个位置。

首先,它会检查文件扩展名以确定其文件类型。如果未找到,它会检查文件类型的相关条目(InfoTipQuickTipPreviewDetails等)Unknown。如果确实找到了该文件的现有类型,它会检查根文件类型的属性列表,然后返回到 中的扩展名SystemFileAssociations,最后返回到万能类型。

例如,对于可执行文件(.exe),它将检查以下内容:

  1. HKCR\.exe查找exefile与扩展关联的类型
  2. HKCR\exefile获取属性列表(例如InfoTip);如果没有找到……
  3. HKCR\SystemFileAssociates\.exe获取属性列表;如果没有找到...
  4. HKCR\*获取属性列表

对于未注册的文件类型(例如.foobar),它将执行以下操作:

  1. HKCR\.foobar并发现它不存在(或没有指定文件类型)
  2. HKCR\Unknown获取属性列表


由于这方面没有很好的记录,希望任何需要这些信息的人现在都能找到他们正在寻找的内容。

相关内容