Тонкости реестра Windows Vista. Трюки и эффекты - стр. 21
Если вы пытаетесь запустить ярлык, который ссылается на несуществующий файл, то операционная система начинает поиск файла во всех каталогах, сопоставленных с данным ярлыком. Для этого она использует идентификатор файла, на который ссылается ярлык.
Если же с помощью идентификатора файла не удается найти нужный файл, то операционная система выполняет полный поиск нужного файла на соответствующем разделе диска.
Вы можете изменить параметры поиска файла, на который ссылается ярлык. Для этого применяются три параметра REG_DWORD-типа ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer:
• NoResolveSearch – если значение данного параметра равно 1, то не будет выполняться поиск файла на всем разделе диска;
• NoResolveTrack – при установке значения этого параметра равным 1 не будет выполняться поиск по идентификатору файла;
• LinkResolveIgnoreLinkInfo – если значение данного параметра равно 1, то не будет выполняться поиск файла по исходному пути.
Чтобы изменить значок, который используется ActiveX-объектом по умолчанию, достаточно указать путь к новому значку с помощью параметра (По умолчанию) ветви реестра вида HKEY_CLASSES_ROOT\CLSID\«{CLSID-номер ActiveX-объекта}»\DefaultIcon.
Существует возможность указания значка ActiveX-объекта, который будет использоваться только для вашей учетной записи и станет переопределять собой значение параметра (По умолчанию), расположенного в ветви реестра вида HKEY_CLASSES_ROOT\CLSID\«{CLSID-номер ActiveX-объекта}»\DefaultIcon.
Для этого достаточно указать путь к новому значку с помощью параметра (По умолчанию) ветви реестра вида HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID{CLSID-номер ActiveX-объекта}\DefaultIcon.
Существует возможность переопределения значков, хранящихся в библиотеке shell32.dll, своими значками. Для этого достаточно воспользоваться ветвью HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons.
В данной ветви реестра нужно создать параметр строкового типа, название которого должно соответствовать идентификатору значка из библиотеки shell32.dll, который вы хотите переопределить. Значение этого параметра должно указывать путь к значку, который будет заменять собой данный значок библиотеки shell32.dll.
Например, операционная система Windows Vista использует следующие параметры данной ветви реестра, определяющие значки:
• 3 – закрытой папки; применяется в раскрывающихся списках;