Valor IconIndex de -101 em desktop.ini apontando para o segundo ícone na DLL?

Valor IconIndex de -101 em desktop.ini apontando para o segundo ícone na DLL?

Eu tenho uma pasta que é exibida no Windows Explorer como:
insira a descrição da imagem aqui

Dentro desta pasta o desktop.ini oculto tem este conteúdo:

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

Na verdade, isso mydocs.dllcontém exatamenteDOISícones, onde osegundoum é o ícone usado pelo Windows Explorer para exibir a pasta acima.

Portanto, a última linha do conteúdo desktop.ini não deveria ser IconIndex=1(supondo que o Windows comece a contar em 0) em vez de IconIndex=-101?

Tentei interpretar o -101valor como binário, hexadecimal, octal, mas nenhum foi traduzido para um número que representasse o segundo ícone.

Então, como está o -101valor apontando para o SEGUNDO ícone em mydocs.dll?

Responder1

O IconIndex negativo refere-se ao inverso doID do recurso. Vereste blog de desenvolvimento da Microsoft:

No Windows 95, a função ExtractIcon foi aprimorada para que você também pudesse especificar um ícone por seu ID de recurso, passando seu negativo como índice do ícone.

Veja também oDocumentação da Microsoft.

No seu caso, o ícone usado possui um ID de recurso:101e, portanto, é mostrado como-101. Depois de verificar meu próprio mydocs.dll, ele mostra que o ID do recurso é 101 para o ícone que você exibiu e o ID do recurso: 100 para o primeiro ícone (pasta com documento).

informação relacionada