Хитрости 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.