我有一个文件夹在 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。