К сожалению, исследования оказались бесплодными (тем более что этот аспект Windows не особенно хорошо документирован), но после некоторого тестирования и экспериментов я в конце концов понял это.
Система собственности
В Windows XP было ограниченное количество информации, которую проводник Windows мог отображать во всплывающих подсказках и в строке состояния. В Windows Vista они реализовали систему свойств, которая предоставляет больше встроенных метаданных, которые могут отображаться (но не настраиваемые данные, что является той же самой причиной, которая приводит к краху размера папки). В дополнение к предложению большего количества типов метаданных для отображения, Vista и выше также позволяют отображать метаданные в большем количестве способов и мест.
Медленные медиа
Обычно, когда вы наводите курсор мыши на файл (или папку), Windows запрашивает соответствующую запись InfoTip
из реестра и отображает все возможные метаданные для выбранного элемента в соответствии со свойствами указанной записи. Однако из соображений производительности Windows не считывает метаданные, которые должны быть прочитаны из самого файла, когда он хранится на медленном носителе, таком как сетевой диск или флэш-диск. Например, он не будет читать теги MP3 или исполняемую версию и т.д., Если файл находится на карте памяти или DVD; он будет предоставлять только основную информацию, которую он уже прочитал из каталога, такой как размер и измененная временная метка, потому что он уже прочитал все эти метаданные, просто получив список каталога.
мотыга
Следовательно, причина того, что во всплывающей подсказке отображаются только тип, размер и дата, заключается в том, что файл находится на медленном носителе. К сожалению, нет (известной) записи реестра, которая может быть настроена на указание Windows показывать указанные метаданные независимо от того, где хранится файл, но есть обходной путь, который может достичь того же эффекта [1].
Когда Windows обнаруживает, что файл хранится на «медленном» носителе, и ей предлагается отобразить всплывающую подсказку, вместо запроса записи InfoTip
, она считывает запись QuickTip
. Последняя запись - это то же самое, но по умолчанию перечислены только свойства «Тип», «Размер» и «Дата изменения». Чтобы заставить Windows отображать нужную информацию, просто скопируйте содержимое всплывающей InfoTip
в QuickTip
.
Предостережение
Очевидно, что это повлияет на производительность, поэтому не удивляйтесь, если будет задержка при наведении курсора на файлы 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
для списка свойств
Поскольку это плохо документировано, мы надеемся, что каждый, кому нужна эта информация, сможет найти то, что ищет.