Я сделал приложение, которое архивирует и помещает любую брошенную на него папку в резервную папку на моем диске. Я хотел бы иметь возможность запустить его с параметром полного пути к папке через контекстное меню.

Как добавить приложение в контекстное меню всех папок и использовать путь к папке в качестве параметра в командной строке?

1 ответ1

2
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 о том, как заставить установщик вашего приложения правильно зарегистрировать ваше приложение в качестве допустимого обработчика контекстного меню.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .