Как передать несколько имен файлов в команду оболочки контекстного меню? - PullRequest
28 голосов
/ 22 июня 2011

Передача одного имени файла в команду оболочки контекстного меню проста:

[HKEY_CLASSES_ROOT\*\shell\MyProgram\Command]
@="program.exe %1"

Но если я выбираю несколько файлов, program.exe вызывается для каждого такого выбранного файла.

Вместо этого я бы хотел вызвать program.exe только один раз, передав ему все выбранные в данный момент имена файлов.

Как это сделать?

Ответы [ 2 ]

18 голосов
/ 24 июня 2015

Для этого вы можете использовать Отправить на .Он поддерживает несколько файлов.

В случае, если этот веб-сайт отключен:

Откройте shell:sendto с помощью Windows + R или вставьте его в адресную строку обозревателя.Он должен перенаправить вас на:

C:\Users\<yourusername>\AppData\Roaming\Microsoft\Windows\SendTo

Создайте ярлык для вашей программы в этой папке, и вы должны увидеть его в контекстном меню проводника в Send to

3 голосов
/ 22 июня 2011

Возможно, вы захотите взглянуть на этот пост , так как он говорит, что на самом деле невозможно передать несколько файлов в один экземпляр, и вы должны полагаться на некоторую форму IPC (межпроцессное взаимодействие) .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...