Значення IconIndex -101 у desktop.ini вказує на другу піктограму в DLL?


2

У мене папка, яка відображається в Провіднику Windows як:
введіть тут опис зображення

Всередині цієї папки прихований desktop.ini містить такий вміст:

[.ShellClassInfo]
InfoTip=@Shell32.dll,-12688
IconFile=%SystemRoot%\system32\mydocs.dll
IconIndex=-101

Він mydocs.dllфактично містить ДВОХ іконок, де другий - значок, який використовує Провідник Windows для відображення вищевказаної папки.

Так чи не повинен бути останній рядок вмісту desktop.ini IconIndex=1(припустимо, що Windows починає рахувати з 0) замість IconIndex=-101?

Я намагався інтерпретувати -101значення як двійкове, шістнадцяткове, вісімкове, але жодне не переводило на число, яке б представляло другу піктограму.

Отже, як -101значення вказує на піктограму SECOND mydocs.dll?

Відповіді:


2

Негативний IconIndex відноситься до інверсії ідентифікатора ресурсу .

У вашому випадку використаний значок має ідентифікатор ресурсу: 101, тому він відображається як -101 . Після перевірки мого власного mydocs.dll, він показує, що ідентифікатор ресурсу 101 для відображеної вами піктограми та ідентифікатор ресурсу: 100 для першого значка (папки з документом).


Це загальне та НАДІЙНЕ правило, з якого завжди починають рахувати ідентифікатори ресурсів у desktop.ini 100?
користувач1580348

2
@ user1580348 Це не надійне правило. Це залежить від того, як розробники написали файл ресурсу для програми, коли вони створили додаток. Додаткову інформацію див. У ресурсі ICON . ResourceId є «Унікальне ім'я або 16-бітове беззнаковое ціле значення ідентифікації ресурсу.»
DavidPostill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.