オーバーレイアイコンを登録するツールのインストールが多すぎるようです。Windowsには、変更できない古い16ビットコードのために、オーバーレイアイコンが15個というugい制限があります。
値15は、画像リストの対応する制限に由来します。ImageList_SetOverlayImage関数は、画像リストごとに最大15個の画像リストオーバーレイをサポートします。(ねえ、それは以前より悪かった。制限は以前は3つだけだった!)
わかりましたが、なぜ15だけなのでしょうか?なぜこれ以上ないのですか?
オーバーレイ画像は、画像リストから画像を描画するときに使用される情報の1つです。オプションはfStyleパラメーターでエンコードされ、ビットがさまざまな目的のために分割されたときに、オーバーレイイメージを指定するために4ビットを使用できました。(「オーバーレイなし」を指定するために値の1つが失われるため、16枚ではなく15枚のオーバーレイ画像が得られます。)
わかりましたが、fStyleパラメーターの値は下位16ビットのみを使用します。上位16ビットはどうですか?そこには十分なスペースがあります。
16ビットの制限は、16ビットバージョンの共通コントロール(Windows 95でもサポートする必要があります)から引き継がれました。もちろん、最近では、共通コントロールの16ビットバージョンを誰も気にしないので、上位ビットの使用を開始してみませんか?
不満足な説明があります:fStyleを内部的に管理するコードは、いくつかの場所でまだWORDを使用しているため、fStyleを管理するすべてのコードを修正する必要があります。これは、Windowsの複数のモジュールで発生するため、複数のコンポーネントで同期された変更を行う必要があります。インターフェイスはもはや互換性がないため、これはバイナリレベルでの重大な変更です。重大な変更は手続き的に調整するのが困難です。影響を受けるコードは、まだトランクにRIされていない遠く離れたリーフブランチにあるため、シェルチームに表示されない場合があります。fStyleをWORDからDWORDに拡張すると、一部のコンポーネントに大きな影響を与える可能性があります。
そのため、MicrosoftはExplorerを破壊せずに実際に修正することはできません。
regeditを開き、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
そして
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
アイテムの数を数えます。15の制限に達しましたか?
はいの場合は、ここに表示されているアプリケーションをアンインストールまたは再構成するか、レジストリエントリを手動で削除します(もちろんバックアップします)。