Explorer не подгружает dll с Shell Extension
От: прогрмист  
Дата: 04.08.11 09:14
Оценка:
Пытаюсь создать расширение для проводника, которое должно накладывать оверлейный значок на пиктограммы файлов.
Ссылка на msdn.

1. Создаю Shell icon overlay extension для Window Explorer по http://www.codeproject.com/KB/shell/overlayicon.aspx
2. Собираю его, регистрируется COM класс.
3. Проводник даже не подгружает созданную dll (смотрел в Process Explorer).

Пробовал перезагружать проводник, компьютер, смотрел записи в реестре.
Пробовал собирать проект на другом компьютере. Результат тот же.

Оверлейные значки других программ, например, SVN, отлично работают.
Программа Shell Extension Viewer показывает, что обработчик установлен.
Система — Windows XP со всеми текущими обновлениями.

Буду благодарен за любые идеи в этой области.
visual studio atl shell extension explorer
Re: Explorer не подгружает dll с Shell Extension
От: прогрмист  
Дата: 04.08.11 10:52
Оценка:
Пробовал собрать и этот проект: http://code.msdn.microsoft.com/ATLShellExtIconOverlayHandl-4b6b79e5/sourcecode?fileId=21539&pathId=645867992

тот же результат
Re[2]: Explorer не подгружает dll с Shell Extension
От: прогрмист  
Дата: 04.08.11 13:12
Оценка: 10 (2)
Последние исследования показали:
Dll загружается только если идентификатор обработчика записан не позже чем 15 номером (в алфавитном порядке)
Если он стоит 16 по счету — обработчик не устанавливается.

Вывод: Explorer странно себя ведет, проблема не решена окончательно.

Кто-нибудь знает о подобных ограничениях? Они есть или нет?
Re[3]: Explorer не подгружает dll с Shell Extension
От: _Raz_  
Дата: 04.08.11 19:37
Оценка: 3 (1)
Здравствуйте, прогрмист, Вы писали:

П>Кто-нибудь знает о подобных ограничениях? Они есть или нет?

How Icon Overlay Handlers Work:

Note The number of different icon overlay handlers that the system can support is limited by the amount of space available for icon overlays in the system image list. There are currently fifteen slots allotted for icon overlays, some of which are reserved by the system.

... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.