Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\myapp]
@="&MyApp"
"Icon"="shell32.dll,43"
"MultiSelectModel"="Single"
[HKEY_CLASSES_ROOT\Folder\shell\myapp\command]
@="C:\\MyApp.bat \"%1\""
Вышеуказанное сохранено как.REG-файл, импортированный в реестр, запустит ваше приложение и передаст ему полный путь к выбранной папке в качестве первого аргумента. Вот содержимое MyApp.bat для тестирования:
@echo off
for %%a in (%*) do echo Argument = %%a
pause
Удалите строку MultiSelectModel, если вы хотите, чтобы элемент контекстного меню отображался даже при выборе нескольких папок и щелчке правой кнопкой мыши.
Однако это скорее ручной / хакерский метод. Я настоятельно рекомендую вам прочитать статью MSDN « Создание обработчиков контекстных меню» и спросить в StackOverflow о том, как заставить установщик вашего приложения правильно зарегистрировать ваше приложение в качестве допустимого обработчика контекстного меню.