CopyFileEx с несколькими файлами, но только один диалог копирования - PullRequest
4 голосов
/ 26 июня 2010

Я искал в Интернете и в стеке поток для этого.

Я хочу скопировать несколько файлов из нескольких источников в несколько мест назначения.Я пока не беспокоюсь об UnauthorizedAccessExceptions - файлы, скорее всего, в любом случае не будут использоваться.

Я могу скопировать 1 файл, используя CopyFileEx-Wrapper из здесь .Однако: я бы хотел, чтобы появилось стандартное диалоговое окно копирования файлов Windows.И я хотел бы скопировать несколько файлов, а не только один, например, передав массив исходных файлов и массив файлов назначения.

Есть ли способ сделать это?Более того: есть ли способ поставить это в очередь как одну задачу, а не как отдельные операции копирования?Причиной этого является тот факт, что я хотел бы отобразить только один прогрессирующий диалог - от начала до конца копирования всех файлов.

Надеюсь, мой вопрос ясен.

СпасибоВы все очень заранее.

divStar.

Ответы [ 2 ]

5 голосов
/ 26 июня 2010

Да, это возможно с интерфейсом оболочки IFileOperation, доступным с Vista. Оболочка управляемого класса для этого интерфейса COM доступна в выпуске MSDN Magazine .

за декабрь 2007 года.

Статья называется " .NET Matters: IFileOperation в Windows Vista "
Пример кода по-прежнему доступен здесь .

Используйте свой существующий код, если он также должен работать в более ранних версиях Windows.

1 голос
/ 26 июня 2010

Установите для свойства MultiSelect вашего OpenFileDialog значение true.

...