Передача нескольких файлов / папок из Windows Explorer во внешнее приложение - PullRequest
4 голосов
/ 23 февраля 2010

Привет, кто-нибудь знает, как заставить проводник Windows передавать несколько файлов / папок во внешнее приложение (c #), указанное в реестре?

В настоящее время я могу работать с одним файлом / папкой, используя синтаксис% 1, но не знаю, как заставить проводник проходить через несколько элементов.

Кто-нибудь знает, как это сделать?

Ответы [ 3 ]

2 голосов
/ 23 февраля 2010

Когда вы выбираете несколько файлов в Проводнике, вызывается метод IShellExtInit :: Initialize расширения контекстного меню вашей оболочки, и pdtobj содержит выбор.Примечание: запись управляемого расширения оболочки не поддерживается.

2 голосов
/ 23 февраля 2010

Я не думаю, что это возможно.

Когда вы открываете несколько файлов с помощью Проводника, он запускает отдельную копию вашей программы для файла. Я не думаю, что это можно переопределить.

РЕДАКТИРОВАТЬ : Я забыл о расширениях оболочки. Это возможно.

Чтобы обойти это, вы можете связать последующие копии с первой, а затем выйти. Подробные инструкции для этого выходят за рамки этого ответа.

0 голосов
/ 23 февраля 2010

Чтобы сделать это надежно, вам нужно написать расширение оболочки, скорее всего, реализацию sendto.

Я не писал ни одного с vb6, но вы можете найти то, что выглядит хорошим управляемым примером здесь

Или вы можете использовать бесплатную утилиту

...