Как переместить файлы в корзину - PullRequest
12 голосов
/ 06 апреля 2009

Мне нужно переместить файл в корзину в .net 2003

Я добавил microsft.visualbasic.runtime dll из refrence, но не смог получить файл filesystem.deletedirectory, так что же делать ... Можете ли вы мне помочь?

Ответы [ 5 ]

22 голосов
/ 06 апреля 2009

Я нашел это, не знаю, работает ли оно, но стоит попробовать.

using Microsoft.VisualBasic;

string path = @"c:\myfile.txt";
FileIO.FileSystem.DeleteDirectory(path, FileIO.UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);

РЕДАКТИРОВАТЬ: Мудрые слова из Nifle: Просто не забудьте добавить ссылку на Microsoft.VisualBasic.dll

2 голосов
/ 17 мая 2012

По сути, между ссылкой сверху и фактическим вызовом метода вам нужно полное имя (после добавления библиотеки, конечно)

Вы можете полностью назвать это:

Microsoft.VisualBasic.FileIO.FileSystem.DeleteDirectory(
    path,
    FileIO.UIOption.OnlyErrorDialogs,
    RecycleOption.SendToRecycleBin);

ИЛИ вы можете добавить ссылку вверху вместе с другими:

using Microsoft.VisualBasic.FileIO

, а затем

FilesSystem.DeleteDirectory( etc );
0 голосов
/ 19 августа 2012

Использование

FileIO.FileSystem.DeleteDirectory(path, FileIO.UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);

необходимо: 00:00:00.4036573 чтобы удалить один файл. Использование

[DllImport("shell32.dll", CharSet = CharSet.Auto)]
private static extern int SHFileOperation(ref SHFILEOPSTRUCT FileOp);

необходимо только: 00:00:00.1107684, чтобы удалить один файл.

Реализация может быть найдена там: Отправить файл в корзину

0 голосов
/ 06 апреля 2009

У вас есть

using Microsoft.VisualBasic.FileIO;

вверху страницы?

0 голосов
/ 06 апреля 2009

Это может вам помочь. Похоже, вам нужно добавить ссылку на Microsoft.VisualBasic.dll или использовать P / Invoke.

...