desktop.ini の IconIndex 値 -101 は DLL の 2 番目のアイコンを指していますか?

desktop.ini の IconIndex 値 -101 は DLL の 2 番目のアイコンを指していますか?

Windows エクスプローラーに次のように表示されるフォルダーがあります:
ここに画像の説明を入力してください

このフォルダ内の隠し desktop.ini には次の内容が含まれています:

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

これmydocs.dllには実際、アイコンは、2番1 つは、Windows エクスプローラーが上記のフォルダーを表示するために使用するアイコンです。

では、desktop.ini の内容の最後の行はIconIndex=1(Windows が 0 からカウントを開始すると仮定すると) ではなく、次のようになるべきではないでしょうかIconIndex=-101?

値を 2 進数、16 進数、8 進数として解釈しようとしました-101が、2 番目のアイコンを表す数値に変換できるものはありませんでした。

では、-101の 2 番目のアイコンを指す値はどのようになっているのでしょうかmydocs.dll?

答え1

負のIconIndexは、リソースID。 見るこのMicrosoft開発ブログ:

Windows 95 では、ExtractIcon 関数が拡張され、アイコン インデックスとして負の数を渡すことで、リソース ID でアイコンを指定できるようになりました。

以下も参照Microsoft ドキュメント

あなたの場合、使用されているアイコンにはリソース ID があります:101したがって、次のように表示されます。-101自分の mydocs.dll を確認したところ、表示されたアイコンのリソース ID は 101 で、最初のアイコン (ドキュメントを含むフォルダー) のリソース ID: 100 であることがわかりました。

関連情報