Хитрости Windows 7: для профессионалов | страница 135



■9&Г-

Трюк, который можно применить для некоторых файлов изображений, например #«, I ico, — установить Defaultlcon значение (По умолчанию) «%1» (вводить с кавычка-^ ^ •, ми). Эта «самоссылка» указывает Проводнику использовать встроенное в файл ' изображение в качестве значка файла. Хотя это работает и для некоторых других форматов изображений, эта функция оказалась вытеснена IconHandlers.

В большинстве случаев можно задать свой значок для конкретного типа файла, указав полный путь к файлу .exe, .dll, .ico или .bmp в значении (По умолчанию) раздела Defaultlcon. (Подсказка: некоторые хорошие значки находятся в \Windows\System32\ shell32.dll.) Укажите число — номер значка, который следует отображать, или не указывайте, чтобы использовать первый значок в файле. В некоторых случаях Проводник распознает изменение сразу же, в связи с тем что он кэширует значки; возможно, понадобится перезапустить Windows, чтобы эти изменения полностью вступили в силу.

Самым легким способом изменить значок для типа файла является применение стороннего инструмента, такого как Fileiype Doctor, обсуждаемого в следующем разделе.

SiU

Единственный случай, когда Windows не будет обращать внимание на значок, указанный в разделе Defaultlcon, — это когда задействован IconHandler, который генерирует динамичные значки (рис. 3.15), обычно показывая миниатюры содержимого файлов вместо статических значков.

IconHandler — это программа, которая понимает формат файла (обычно файл .dll в папке программы приложения), с которым файл связывается. Например, Adobe Acrobat (версия 7.0 и позже) использует эту функцию, чтобы облегчить предварительный просмотр миниатюр файлов .pdf. Для расширения .pdf IconHandler приложения Acrobat может быть указан в любом из следующих разделов реестра:

HKEY_CLASSES_ROOT\.pdf\ShellEx\IconHandler

HKEY_CLA5SES_R00T\. pdf \ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1} HKEY_CLASSES_ROOT\AcroExch. Document. 7\ShellEx\IconHandler HKEY_CLASSES_ROOT\AcroExch.Document.7\ShellEx \{BB2E617C-0920-llDl-9A0B00C04FC2D6C1)

HKEY_CLASSES_ROOT\SystemFileAssociations\. pdf\ShellEx\IconHandler HKEY_

CLASSES_ROOT\SystemFileAssociations\.pdf\ShellEx\{BB2E617C-0920-llD19A0B-

00C04FC2D6C1}

HKEY_CLASSES_ROOT\SystemFileAssociations\image\ShellEx\IconHandler HKEY_

CLASSES_ROOT\SystemFileAssociations\image\ShellEx\{BB2E617C-0920-llD19A0B-

00C04FC2D6C1)

Выясняется, что Adobe выбрал четвертый из этих разделов, чтобы зарегистрировать свой IconHandler. Значение (По умолчанию) в этом разделе содержит 38-значный класс ID, который указывает на запись в HKEY_CLASSES_ROOT\CLSID, содержащую подробные данные о файле .dll.