为设备提供图标

本主题介绍如何通过在驱动程序的 INF 文件中引用自定义图标来为设备提供自定义图标。 可以根据需要提供显示在设备管理器和/或 Windows 资源管理器中的图标。

为设备管理器添加图标

可以在 DLL 中嵌入自定义图标,也可以提供独立的 .ico 文件。 如果驱动程序已是 DLL 文件,则第一个是最简单的选项,因为它不需要复制任何其他文件。

若要在 DLL 中嵌入图标,请使用如下所示的条目:

[<DDInstall>]
AddProperty = DeviceIconProperty

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

上面的示例使用 DIRID 13 将文件复制到驱动程序存储,从而避免将文件复制到其他任何位置。 条目遵循 格式 <Resource.dll>,-<IconResourceID>,因此 100 表示 DLL 资源表中图标的资源 ID。 有关 DIRID 13 的详细信息,请参阅 使用通用 INF 文件

若要引用独立的 .ico 文件,请使用如下所示的条目:

[<DDInstall>]
AddProperty = DeviceIconProperty

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

在资源管理器中添加存储卷的图标

shell 使用 图标NoMediaIcons 注册表值在“自动播放”、“我的电脑”和“打开文件”对话框中表示设备。

若要添加这些内容,请在设备的 INF DDInstall.HW 部分下添加 INFAddReg 指令。 在 AddReg 部分中,指定 图标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

资源

创建图标时,请遵循 图标中提供的准则。 这些指南介绍如何创建具有 Windows 图形元素的外观和行为的图标。