Предоставление значков для устройства

В этом разделе описывается, как предоставить пользовательские значки для устройства, ссылаясь на них в INF-файле драйвера. Вы можете указать значки, которые отображаются в диспетчере устройств, проводнике Windows или в обоих случаях.

Добавление значков для диспетчера устройств

Можно внедрить пользовательский значок в библиотеку DLL или предоставить автономный .ico-файл. Если драйвер уже является DLL-файлом, первый — самый простой вариант, так как он не требует копирования дополнительных файлов.

Чтобы внедрить значок в библиотеку DLL, используйте следующую запись:

[<DDInstall>]
AddProperty = DeviceIconProperty

[DeviceIconProperty]
DeviceIcon,,,,"%13%\UmdfDriver.dll,-100"

Приведенный выше пример использует DIRID 13 для копирования файла в хранилище драйверов, что позволяет избежать необходимости копировать его в другом месте. Запись соответствует формату <Resource.dll>,-<IconResourceID>, поэтому 100 обозначает идентификатор ресурса значка в таблице ресурсов библиотеки DLL. Дополнительные сведения о DIRID 13 см. в разделе Использование универсального INF-файла.

Чтобы ссылаться на автономный файл .ico, используйте такую запись:

[<DDInstall>]
AddProperty = DeviceIconProperty

[DeviceIconProperty]
DeviceIcon,,,,"%13%\vendor.ico"

Добавление значков для томов хранилища в обозревателе

Оболочка использует значки и значения реестра NoMediaIcons, чтобы представить устройство в диалоговых окнах "Автозапуск", "Мой компьютер" и "Открытие файла".

Чтобы добавить их, добавьте директиву INF AddReg в разделе INF DDInstall.HW для устройства. В разделе AddReg укажите записи значений для Icons и NoMediaIcons, как показано в следующем примере:

[DDInstall.NT.HW]
AddReg = IconInformation

[IconInformation]
HKR, , Icons, 0x10000, "media-inserted-icon-file"
HKR, , NoMediaIcons, 0x10000, "no-media-inserted-icon-file"

Затем добавьте раздел INF SourceDisksFiles , который содержит файлы значков и соответствующую директиву INF CopyFiles ,, которая копирует их в систему.

Записи значков и NoMediaIcons хранятся в аппаратном ключе устройства, которые будут содержать следующие записи:

  • Icons [REG_MULTI_SZ] = %SystemRoot%\system32\icon.ico

  • NoMediaIcons [REG_MULTI_SZ] = %SystemRoot%\system32\noicon.ico

Ресурсы

При создании значков следуйте рекомендациям, указанным в Icons. В этих рекомендациях описано, как создавать значки с внешним видом и поведением графических элементов Windows.