为设备提供图标
本主题介绍如何通过在驱动程序的 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 图形元素的外观和行为的图标。