Nimbussr
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Forumman Цитата: Очень хочу разобраться с добавлением иконки в это контекстное меню вручную. | Нужно понимать, что пункты в контекстных меню (КМ) бывают разные – в зависимости от объекта. Например, содержимое КМ файла *.doc, папки, файла *.inf или ярлыка, будут разными. Бывают и такие пункты, которые есть в любом КМ, в независимости от объекта для которого КМ вызывалось. Пример создания такого элемента Ключи реестра, отвечающие за КМ разных объектов, описаны здесь: FAQ по WinXP > Интерфейс Для Win7 создание пункта в КМ ещё проще: Добавляем собственные команды в КМ / Хабрахабр Обратите внимание, что пункт меню создать посредством реестра можно, а прикрутить иконку нельзя. Нет такой возможности и ключа, чтобы указав путь к файлу иконки, она тут же отобразилась в КМ объекта. Посмотрите на архиватор WinRAR - у него интеграция иконки в КМ делается через dll библиотеку, которая регистрируется в системе. Стоит снять регистрацию этой библиотеки (убрать в настройках галочку «Встроить WinRAR в оболочку ОС») и иконки, как и само меню, исчезнет. Если разработчики программы решили добавлять в контекстное меню пункт своей программы, то для этого дела отдельно пишется специальное расширение меню оболочки (dll файлик). Но это не значит, что в этом файле будут иконки. Их там нет - они в другом месте, которое определил программист, зачастую это *.exe который лежит рядом. Т.е., если была идея переделать существующее расширение оболочки «под себя», заменив иконку в ресурсах dll – этого не получится. Вот маленький кусочек того, что пишет WinRAR в реестр при включении интеграции в ОС (чтобы посмотреть полностью, сравните снимки реестра утилитой Regshot до и после установки галочки). Обратите внимание на выделенное красным. Видите dll? О том, как написать подобное расширение самому написано здесь: The Complete Idiot's Guide to Writing Shell Extensions - CodeProject Итак, откуда берутся иконки разобрались (dll файл регистрируется в системе и выполняет роль расширения оболочки). Посмотреть все расширения оболочки можно в ShellExView. Теперь вернусь к вашему вопросу о том, как самому добавить иконки к пунктам меню. Выхода два: писать расширение самому или пользоваться специальной программкой для редактирования КМ. Несколько минут назад случайно наткнулся на такую программу. Fast Explorer 2008 - бесплатная программа для настройки контекстного меню Windows. Эта программа имеет свою dll расширения оболочки. КМ теперь можно настраивать как вам захочется и иконки менять тоже по вкусу. Описание по работе см. на странице по ссылке на программу. | Всего записей: 1876 | Зарегистр. 31-05-2008 | Отправлено: 17:40 27-06-2010 | Исправлено: Nimbussr, 17:48 27-06-2010 |
|