Когда кто-то задал этот вопрос, ответ от Microsoft MVP должен был использовать стороннюю программу. Видимо, даже Microsoft признает, что функция поиска в Windows Vista+ бесполезна.
Windows использует две разные записи реестра для типов файлов. Существует запись для фактического расширения, которая, в свою очередь, указывает на соответствующую запись типа файла.
Например, текстовые файлы будут иметь запись в hkcr\.txt
которая будет содержать ссылку на txtfile
которая указывает на hkcr\txtfile
который имеет информацию о типе. (Несколько расширений могут указывать на один и тот же тип; например, .cpp
или .mytype
могут указывать на txtfile
чтобы они рассматривались как текстовые файлы).
Если вы используете монитор активности реестра (например, с Process Monitor), вы можете наблюдать за перечислением индексатора и получать доступ к подразделам HKCR
. К сожалению, индексатор не имеет доступа к специфическим для типа записям, что unknown
. Он только перечисляет расширения, и поскольку неизвестные типы не имеют расширения (хорошо, что они есть, но они различаются), нет способа вручную зарегистрировать неизвестные типы с помощью индексатора.
Тем не менее, индексация неизвестных типов была выполнима в Windows XP (рисунок 1). Вы можете попробовать использовать ту же опцию в Windows 7:
- Откройте реестр-редактор
Перейдите к следующему разделу реестра:
HKLM\System\CurrentControlSet\Control\ContentIndex\FilterFilesWithUnknownExtensions
- Найдите значение DWORD
FilterFilesWithUnknownExtensions
или создайте его, если не существует
- Присвойте ему значение
1
чтобы индексировать неизвестные типы, или 0
чтобы отключить индексацию неизвестных типов.
- Перезапустите службу поиска Windows.
Если это все еще не работает, то я боюсь, что возможность индексировать содержимое неизвестных файлов была просто удалена из индексатора в Vista и выше.
Рисунок 1: опция индексации неизвестного типа в Windows XP