Как добавить элемент в меню содержимого Windows Explorer в Delphi? - PullRequest
5 голосов
/ 26 сентября 2010

Я хотел бы создать пункт меню в меню содержимого Windows Explorer (для всех типов файлов), который после щелчка откроет мое приложение и передаст ему выбранное имя файла. Есть ли учебник для этого? Я знаю, что доступен компонент ShellPlus, но он немного устарел.

Ответы [ 3 ]

7 голосов
/ 26 сентября 2010

Реестр

Этот метод прост, поскольку сводится к добавлению некоторых разделов реестра.Недостатком является то, что вы не можете поместить в это какую-либо логику.Вы можете прочитать об этом здесь и здесь простой пример в Delphi.Вы получаете немного больше контроля, если используете DDE для выполнения пунктов меню.Смотрите здесь для примера Delphi.

Расширение оболочки

Этот метод немного сложнее, но вы можете полностью контролировать контекстное меню из кода.Вам нужно будет написать DLL, реализовать IContextMenu (или другие) и зарегистрировать dll в проводнике Windows.Вы можете прочитать об этом здесь .Вы уже упоминали Shell + .

2 голосов
/ 26 сентября 2010

Delphi включает в себя демонстрационный проект для расширений оболочки.Просмотрите папку Demos \ ActiveX \ ShellExt .

0 голосов
/ 26 сентября 2010

Это возможно независимо от языка программирования, настроив обработчики контекстного меню для нужного типа файлов в реестре. Там вы можете вызвать ваше приложение с правильным путем, правильными параметрами и правильными местозаполнителями.

См. Статью MSDN по Создание обработчиков контекстного меню для получения более подробной информации.

...