Ниже приведены CLSID для разных системных пиктограмм:
{20D04FE0-3AEA-1069-A2D8-08002B30309D} — "Мой компьютер"
{208D2C60-3AEA-1069-A2D7-08002B30309D} — "Сетевое окружение"
{645FF040-5081-101B-9F08-00AA002F954E} — "Корзина"
{00020D75-0000-0000-С000-000000000046} — "Входящие"
{00028В00-0000-0000-С000-000000000046} — "The Microsoft Network"
{FBF23B42-E3F0-101B-8488-00AA003E56F8} — "Проводник".
В Windows 98 SE для изменения значка Корзины не нужно лезть в реестр. Достаточно в свойствах Экрана зайти на вкладку "Эффекты" и можно поставить какой угодно значок и для пустой Корзины, и для полной, и для папки "Мои документы", и для "Мой компьютер", и для "Сетевое окружение".
Назначение любой папке любой иконки
У папок Font, History и других имеются свои иконки. Для присвоения папке иконки нужно:
1) Иметь Win95+IE4 или Win98 (WinNT?).
2) Сделать папку системной. В "Проводнике" этого сделать нельзя, зато можно в Dos Navigator'e, FAR'e, WinNavigator'e и др., а также с помощью стандартной утилиты ATTRIB.
3) Создать в разделе HKEY_CLASSES_ROOT\CLSID раздел с именем типа {ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}, где X — это любая цифра или латинская буква от А до F (название раздела, разумеется, не должно совпадать с уже имеющимися CLSID-разделами). В этом разделе создать раздел Defaultlcon и в параметре "(По умолчанию)" написать путь к файлу с желаемой иконкой, поставить запятую и номер иконки в этом файле (для iсо-файлов надо задавать номер 0).
Пример reg-файла:
====
REGEDIT4
[HKEY_CLASSES_ROOT\CLSID\{FF393560-C2A7-11CF-BFF4-44553540001}\Defaultlcon]
@="С: \\lCON\\papka1.ico,0"
====
4) Создать в нужной папке файл desktop.ini следующего содержания:
====
[.ShellClassInfo]
CLSID={ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}
====
где {ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ} должно совпадать с именем созданного нами раздела (в примере {FF393560-C2A7-11CF-BFF4-444553540001}).
Есть способ немного проще.
1. Создаём в нужной папке файл desktop.ini следующего содержания:
[.ShellClassInfo]
IconFile=<file>
IconIndex=N
где <file> — это путь к файлу со значком (или только имя файла, если он находится в этой же папке или является системным dll-файлом); N — это номер значка в файле (нумерация начинается с нуля).
Если значок в файле один или нужен первый (номер 0), то в Windows 9х строку lconlndex=0 можно не писать.
2. В Windows 2000/ХР устанавливаем для папки атрибут "Только чтение", и в "Проводнике" папка будет иметь заданный значок. В Windows 98 установка этого атрибута позволяет отобразить значок только в дереве папок "Проводника" (левая панель). В Windows 9х для отображения значков в правой панели (в Windows 95 и в левой) надо устанавливать атрибут "Системный". Для изменения значка в Windows Commander'е нужно установить атрибут "Системный" и в Windows 2000/ХР.
Стандартные значки Windows 9х В разделе реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Shell Icons содержится множество строковых параметров с именем в виде числа.
Каждый из них отвечает за значок какого-либо объекта:
0 ∙ Стандартный значок
1 ∙ Исполняемый файл
2 ∙ Избранное
3 ∙ Папка
4 ∙ Открытая папка
5 ∙ Дискета 5.25"
6 ∙ Дискета 3.5"
8 ∙ Жёсткий диск
9 ∙ Сетевой диск
10 ∙ Недоступный сетевой диск
11 ∙ CD-ROM
12 ∙ RAM Drive
13 ∙ Вся сеть
15 ∙ Мой компьютер
16 ∙ Принтер
17 ∙ Сетевое окружение
18 ∙ Файл с конфигурациями
19 ∙ Программы
20 ∙ Документы
21 ∙ Настройка
22 ∙ Поиск
23 ∙ Справка
24 ∙ Выполнить
27 ∙ Завершение работы
28 ∙ Зашарить (как это по-русски сказать?)
29 ∙ Ярлык
31 ∙ Пустая корзина
32 ∙ Полная корзина
33 ∙ Удаленный доступ к сети
34 ∙ Рабочий стол
35 ∙ Панель управления
36 ∙ Программы
37 ∙ Принтеры
38 ∙ Шрифты
40 ∙ Музыкальный CD.
Установите значением параметра путь к значку (если значок хранится в библиотеке, то после пути к ней, через запятую, нужно указать номер значка, начиная с нуля), и он изменится.
Дополнение:
7 ∙ Накопитель типа ZIP или JAZ
Все эти иконки идут в порядке их нумерации в файле shell32.dll (или смещены на один вверх). Их можно просмотреть с помощью любого Resource Explorer'а (например, встроенным в WinNavigator).