【发布时间】:2020-04-08 01:05:48
【问题描述】:
Windows 10 在跳转列表中有新的图钉图标。不同主题的黑白。
旧的 Windows 7 pin 图标保留在 imageres.dll 中,ID 5100、5101。
新图标存储在哪里?如何使用 WinAPI?
【问题讨论】:
标签: windows winapi windows-shell jump-list
Windows 10 在跳转列表中有新的图钉图标。不同主题的黑白。
旧的 Windows 7 pin 图标保留在 imageres.dll 中,ID 5100、5101。
新图标存储在哪里?如何使用 WinAPI?
【问题讨论】:
标签: windows winapi windows-shell jump-list
图标传统上是光栅图像。光栅图像的好处是,它们的渲染速度非常快。这种速度有一个缺点,即光栅图像仅在较窄的像素密度范围内看起来不错。只要大多数显示器的像素密度为 96 PPI(每英寸像素),这就很好了。随着像素密度的增加,光栅图像不再像以前那样有用。在高密度显示器上,图标要么渲染得太小,要么必须用各种视觉伪影放大。
为了解决这个问题,Windows 8 引入了基于字体的图标作为 Windows UI Symbol 字体,在 Windows 10 中被 Segoe MDL2 Assets 字体取代。字体是基于矢量的,可以在很宽的范围内缩放,而不会出现(或很少)视觉伪影。
虽然我尚未验证 Windows Shell 是否确实使用字体图标,但您正在寻找的图标在 Segoe MDL2 Assets 字体中可用,Unicode 代码点位于private use area:
【讨论】:
自 Windows 10 版本 1903 起,图标资源文件已重定位到:C:\Windows\SystemResources\imageres.dll.mun
这些文件现在有一个新的扩展名.mun,而不是.mui(它仍然存在于system32 和syswow64 子文件夹中。
另见问题Can I trust imageres.dll system icons indexes?的答案:
获取图标的正确方法是使用SHGetStockIconInfo。它会告诉您图标在当前版本的 Windows 中的位置。
如果您想要系统当前的文件夹图标(由于用户自定义,可能不是标准的),请使用
SHGetFileInfo。
【讨论】:
SHGetStockIconInfo 没有该图标的 SIID。