アイコンオーバーレイ(3rdParty-Appsから)がWin8エクスプローラーに表示されないのはなぜですか?


35

Windows Explorerで有用な情報を提供するこれらの素晴らしいアイコンオーバーレイは表示されません。 私が意味するもののスクリーンショット

Dropboxで最も面倒です(すでにhttps://www.dropbox.com/help/154/enを読んでいます)。Dropboxを再インストールしようとしました-助けはありません。Link Shell Extensionにもこの問題がありますので、特にDropboxの問題だとは思いません。私のOSに何か問題があります。OSは実際にはかなり新鮮なクリーンインストールです...

OS:Win8 Pro 64ビット。


3
インストールプログラムが問題に気づき、インストール中に修正できるように、プログラムでこれを行う方法はありますか?
jordanpg 14

関連するが後で尋ねられる:superuser.com/q/809529/3588
CADが17

回答:


39

オーバーレイアイコンを登録するツールのインストールが多すぎるようです。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の制限に達しましたか?

はいの場合は、ここに表示されているアプリケーションをアンインストールまたは再構成するか、レジストリエントリを手動で削除します(もちろんバックアップします)。


私は両方の私のWindows7にインストールされていた-と、おそらくたくさん ... 3年win7のは〜のために走っていた-もののは、より多くの
kluka

3
regeditを開き、に移動してHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiersアイテムの数をカウントします。15の制限に達しましたか?
magicandre1981

20アイテム.... Skydriveでいっぱいになりました。ああ!(私は別のプログラムをアンインストールし、今では動作します)
kluka

残りの質問:その「フォルダー」内のレジストリエントリを手動で削除しても安全ですか?
kluka

これは保存しますが、最初にキーのバックアップを作成し、次に不要なエントリを無効にします。私も問題を抱えており、いくつかのTSVNエントリを削除しました。
magicandre1981

19

必ずしもすべてのキーを削除する必要はありません。必要なのは、これらのキーの名前を先頭の数字に順番に変更して、マシンを再起動することだけです。連番により、OSが上位15のみをカウントするようになります。

以下に例を示します。

ここに画像の説明を入力してください


17
これは、Windowsが狂気のすべての良い例です。
kluka

9
それは...、関連するアプリケーションやその[解除]インストーラを混同することはほぼ確実である
SAMB

それは本当に助けにはなりません。たとえば、Skydriveは週に1回程度なので、アイコンの名前を変更します。これを定期的にやりたくありません。
トライラリオン

4
私が見つけた回避策(および私のために数年間働いてきたもの)は、他のすべての前にある名前で表示したいオーバーレイのコピーを追加することです___CRD3333DropboxExt1。非常にveryいハックですが、オーバーレイを安定させます。
クリスR.ドネリー

2
レジストリ設定をエクスポートすると、貪欲なDropboxとOneDriveのキー名の前にスペースがあります(RegEditには表示されず、ASCIIソートで勝ちます)。したがって、キー名のプレフィックス '< sp> <sp> <sp> 011keyname '
エドランドール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.