
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 であることがわかりました。