Windows не показывает версию (или другие ресурсы) для файлов во всплывающей подсказке

840
Synetech

Всякий раз, когда я наведите курсор мыши над исполняемыми типами файлов ( .exe, .dllи т.д.) в Windows Explorer, он показывает только тип, размер, и (Modified) Дату файла в подсказке вместо Компании, версия, описание и т.д.

Раньше это работало в Windows XP, но Windows 7 показывает мне меньше информации, что разочаровывает, потому что мне часто требуется, чтобы эта информация была быстрой и легкой для доступа (нет, открытие диалога свойств или добавление столбцов не является решением).

Как я могу заставить Explorer показать мне всю необходимую информацию для файлов во всплывающей подсказке? (Бонусные баллы за то, что он также отображается на панели предварительного просмотра внизу.)

0
в Windows 8 я вижу версию файла: https://www.dropbox.com/s/ur3sy31o9t1kb92/OneDrive_FileVersion_Tooltip.png magicandre1981 9 лет назад 0

1 ответ на вопрос

0
Synetech

Unfortunately research was fruitless (especially since this aspect of Windows isn’t particularly well documented), but after some testing and experimentation, I eventually figured it out.

Property System

In Windows XP, there was a limited amount of information that Windows Explorer could display in tooltips and the status-bar. In Windows Vista, they implemented the Property System which provides more built-in metadata that can be displayed (though not custom data, which is the same reasoning that lead to the whole Folder Size debacle). In addition to offering more types of metadata to be shown, Vista and up also allow for the metadata to be shown in more ways and places.

Slow Media

Normally, when you hover the mouse cursor over a file (or folder), Windows queries the relevant InfoTip entry from the registry and displays whatever metadata it can for the selected item per the properties in the specified entry. However, for performance reasons, Windows does not read metadata that must be read from the file itself when it is stored on slow media such as a network drive or flash-drive. For example, it will not read MP3 tags or executable version and such if the file is on a memory-card or DVD; it will only provide the basic information that it has already read from the directory such as the size and modified timestamp because it has already read all of that metadata simply by getting a directory listing.

Hack

Therefore, the reason that only the Type, Size, and Date are being shown in the tooltip is because the file is on slow media. Unfortunately there is no (known) registry entry which can be configured to tell Windows to show the specified metadata regardless of where the file is stored, but there is a workaround that can achieve the same effect [1].

When Windows detects that a file is stored on “slow” media and it is prompted to display a tooltip, instead of querying the InfoTip entry, it reads the QuickTip entry. The latter entry is the same thing, but by default only has the Type, Size, and Modified Date properties listed. To force Windows to show the information you want, just copy the InfoTip contents to QuickTip.

Caveat

Obviously this will have a performance impact, so don’t be surprised if there is a slightly longer delay when hovering over MP3, EXE, etc. files on CDs, network drives, and such.

Preview Pane

To get the desired information to show in the Preview Pane, add the relevant metadata properties to the PreviewDetails entry.

Status Bar

Unfortunately Vista rendered the status-bar essentially useless, so there is no known way to get the desired information to show in there anymore.

Cascading Properties

One should be aware that Windows uses a cascading model for property priorities. When it checks the registry for the metadata to display, it checks several places in order.

First it checks the file extension to determine what file-type it is. If finds none, then it checks the relevant entry (InfoTip, QuickTip, PreviewDetails, etc.) from the Unknown file-type. If it does find an existing type for the file, then it checks the root file-type for a property list, then falls back to the extension in SystemFileAssociations, and finally to the catch-all type.

For example, for an executable file (.exe), it will check the following:

  1. HKCR\.exe to find exefile as the type associated with the extension
  2. HKCR\exefile for a property list (e.g., InfoTip); if not found…
  3. HKCR\SystemFileAssociates\.exe for a property list; if not found…
  4. HKCR\* for a property list

For an unregistered file-type (e.g., .foobar), it will do the following:

  1. HKCR\.foobar and find that it doesn’t exist (or has no file-type specified)
  2. HKCR\Unknown for a property list


Since this is not well documented, hopefully anyone who needs this information will now be able to find what they are looking for.