Nimbussr
 
  
  Silver 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 расширения оболочки. КМ теперь можно настраивать как вам захочется и иконки менять тоже по вкусу. Описание по работе см. на странице по ссылке на программу. |   Всего записей: 2103 | Зарегистр. 31-05-2008 | Отправлено:  17:40 27-06-2010  | Исправлено: Nimbussr,   17:48 27-06-2010    |  
  |