Значок наложения на разные файлы в зависимости от статуса - PullRequest
5 голосов
/ 28 апреля 2011

Привет, я новичок в расширениях оболочки. Я прочитал http://www.codeproject.com/KB/shell/overlayicon.aspx Статья и была в состоянии показать значок наложения на файлы, имена которых содержат строку «образец». Теперь мой вопрос заключается в том, что у меня есть приложение, которое отображает различные наложения для разных файлов в зависимости от состояния файла, например, загружен, загружен, не загружен и т. Д. Пожалуйста, помогите мне, как я могу установить оверлеи для определенных файлов / папок по определенному пути в системе. Спасибо

1 Ответ

3 голосов
/ 28 апреля 2011

Просто примените то, что вы узнали в этой статье.То, что вы хотите сделать сейчас, это почти то же самое.Оболочка вызывает ваш обработчик и запрашивает значок наложения.Ваш код проверяет состояние элемента и возвращает правильный значок наложения.Если вам не принадлежит элемент, вы говорите оболочке вообще не рисовать наложение.

Вы можете прочитать больше о Создание обработчиков наложения иконок в MSDN.

Или, как Дэвид предлагает здесь и Ричард предлагает здесь , вы можете просмотреть исходный код TortoiseSVN (поскольку он лицензирован по лицензии GPL), чтобы увидеть, как они это сделали, если вы предпочитаетеизучите на примере.

Но помните, что оболочка налагает жесткое ограничение на количество значков наложения , которые могут быть зарегистрированы.В настоящее время это число составляет 15. Вы столкнетесь с проблемами, если ваше приложение попытается зарегистрировать слишком много или если у ваших пользователей будут установлены другие приложения (например, TortoiseSVN), которые также зарегистрировали наложения.Возможно, вы захотите серьезно пересмотреть, действительно ли это правильный способ отображения информации.

...