
Ich habe einen Ordner, der im Windows Explorer wie folgt angezeigt wird:
In diesem Ordner hat die versteckte desktop.ini diesen Inhalt:
[.ShellClassInfo]
[email protected],-12688
IconFile=%SystemRoot%\system32\mydocs.dll
IconIndex=-101
Das mydocs.dll
enthält eigentlich genauZWEISymbole, bei denen diezweiteEines davon ist das Symbol, das vom Windows Explorer zum Anzeigen des oben genannten Ordners verwendet wird.
Sollte also die letzte Zeile des desktop.ini-Inhalts nicht IconIndex=1
(vorausgesetzt, Windows beginnt bei 0 zu zählen) statt lauten IconIndex=-101
?
Ich habe versucht, den Wert als Binär-, Hexadezimal- oder Oktalwert zu interpretieren -101
, aber nichts davon ließ sich in eine Zahl übersetzen, die das zweite Symbol darstellen würde.
Wie also -101
verweist der Wert auf das ZWEITE Symbol in mydocs.dll
?
Antwort1
Der negative IconIndex bezieht sich auf den Kehrwert desRessourcen-ID. Sehendieser Microsoft-Entwicklerblog:
In Windows 95 wurde die ExtractIcon-Funktion erweitert, sodass Sie ein Symbol auch durch seine Ressourcen-ID angeben können, indem Sie deren Negativ als Symbolindex übergeben.
Siehe auch dieMicrosoft-Dokumentation.
In Ihrem Fall hat das verwendete Symbol eine Ressourcen-ID:101und wird daher angezeigt als-101. Nachdem ich meine eigene mydocs.dll überprüft habe, zeigt sie, dass die Ressourcen-ID für das von Ihnen angezeigte Symbol 101 und die Ressourcen-ID 100 für das erste Symbol (Ordner mit Dokument) ist.