
Tengo una carpeta que se muestra en el Explorador de Windows como:
Dentro de esta carpeta, el archivo desktop.ini oculto tiene este contenido:
[.ShellClassInfo]
[email protected],-12688
IconFile=%SystemRoot%\system32\mydocs.dll
IconIndex=-101
En realidad esto mydocs.dll
contiene exactamenteDOSiconos, donde elsegundouno es el icono utilizado por el Explorador de Windows para mostrar la carpeta anterior.
Entonces, ¿no debería ser la última línea del contenido de desktop.ini IconIndex=1
(suponiendo que Windows comienza a contar en 0) en lugar de IconIndex=-101
?
Intenté interpretar el -101
valor como binario, hexadecimal, octal, pero ninguno se traducía a un número que representara el segundo icono.
Entonces, ¿cómo -101
apunta el valor al SEGUNDO ícono en mydocs.dll
?
Respuesta1
El IconIndex negativo se refiere a la inversa delID de recurso. Vereste blog de desarrollo de Microsoft:
En Windows 95, la función ExtractIcon se mejoró para que también pudiera especificar un icono por su ID de recurso pasando su negativo como índice del icono.
Ver también eldocumentación de microsoft.
En su caso, el icono utilizado tiene un ID de recurso:101y por lo tanto se muestra como-101. Después de verificar mi propio mydocs.dll, muestra que el ID del recurso es 101 para el ícono que mostró y el ID del recurso: 100 para el primer ícono (carpeta con el documento).