Поделиться через


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

В этом разделе описывается, как можно предоставить пользовательские значки для устройства, ссылаясь на них в 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 , которая копирует их в систему.

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

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

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

Ресурсы

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