Значок наложения оболочки не всегда появляется в Win 7 - PullRequest
2 голосов
/ 07 июня 2011

Я написал расширение оболочки, которое реализует интерфейс IShellIconOverlayIdentifier для наложения значков в проводнике.На 32-битной машине WinXP все работает нормально.Когда я собираю его для 64-битной Win7, оверлей появляется только на боковой панели папки в проводнике и больше нигде.

Странно то, что когда у меня есть функция IsMemberOf, выводятся имена файлов, которые передаются вТаким образом, я вижу, что каждый файл передается в него как из главного окна Проводника, так и с рабочего стола, и функция возвращает значение, указывающее, что наложение должно присутствовать.Однако ничего не появляется.Кто-нибудь сталкивался с чем-то подобным раньше?Я не уверен, что что-то упущено в реестре или что.

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 24 июня 2011

Максимальное количество значков наложения может быть ограничено до 15. Я знаю, что три наложения зарезервированы для использования системой. Проверьте следующий путь реестра:

HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ShellIconOverlayIdentifiers

Я уверен, что вы заметите, где находится ваш обработчик значков наложения.

0 голосов
/ 09 июня 2011

Кажется, я исправил проблему. Я знал, что для системы существует жесткое ограничение в 16 оверлеев, и наличие этого в позиции номер 11, которую я прочитал, является лимитом оверлеев, превышающих то, что окна используют для начала, вызвало это странное поведение.

...