Desktop.ini 中的 IconIndex 值为 -101 是否指向 DLL 中的第二个图标?

Desktop.ini 中的 IconIndex 值为 -101 是否指向 DLL 中的第二个图标?

我有一个文件夹在 Windows 资源管理器中显示为:
在此处输入图片描述

在此文件夹中,隐藏的desktop.ini 包含以下内容:

[.ShellClassInfo]
[email protected],-12688
IconFile=%SystemRoot%\system32\mydocs.dll
IconIndex=-101

mydocs.dll实际上包含图标,其中第二一个是Windows资源管理器用来显示上述文件夹的图标。

那么,desktop.ini 内容的最后一行不应该是IconIndex=1(假设 Windows 从 0 开始计数)而不是吗IconIndex=-101

我尝试将该-101值解释为二进制、十六进制、八进制,但没有一个可以转换成代表第二个图标的数字。

那么,-101指向第二个图标的值是如何的呢mydocs.dll

答案1

负 IconIndex 指的是资源 ID。 看这个微软开发博客

在 Windows 95 中,ExtractIcon 函数得到了增强,因此您还可以通过将其负数作为图标索引传递来通过资源 ID 指定图标。

另请参阅Microsoft 文档

对于您来说,使用的图标有一个资源 ID:101因此它显示为-101检查了自己的mydocs.dll后发现,你显示的图标的资源ID是101,第一个图标(包含文档的文件夹)的资源ID是100。

相关内容