Управляйте корзиной (корзиной для мусора) в C#

Вы можете использовать функции API для управления корзиной, но некоторые операции намного проще, если вы используете библиотеку Microsoft.VisualBasic. Вы можете использовать API, если хотите, но я предпочел бы сделать все возможное, чтобы сэкономить время и избежать ошибок.

Чтобы использовать библиотеку Microsoft.VisualBasic, сначала добавьте ссылку на нее. Затем добавьте оператор using в код, который будет использовать подпрограммы.

Эта библиотека может помочь вам переместить файл или каталог в корзину, но это не поможет вам получить количество элементов в корзине или удалить его. Для этих задач вы застряли с помощью API.

В этом примере создается класс Recycler, который предоставляет статические методы для перемещения файлов или каталогов в корзину, получения количества элементов в корзине и опорожнения корзины.

Следующий код показывает, как Recycler получает количество файлов в корзине.

Код сначала определяет структуру SHQUERYRBINFO и функцию API SHQueryRecycleBin. Он также определяет функцию API SHEmptyRecycleBin для последующего использования.

Код сначала определяет структуру SHQUERYRBINFO и функцию API SHQueryRecycleBin. Он также определяет функцию API SHEmptyRecycleBin для последующего использования.

...

Метод NumberOfFilesInRecycleBin вызывает функцию API SHQueryRecycleBin и возвращает параметр i64NumItems, который он получает. (Да, это довольно уродливый код, поэтому я предпочитаю использовать библиотеку Microsoft.VisualBasic, если это возможно.)

Код устанавливает некоторые параметры, которые зависят от параметров метода, а затем вызывает FileSystem.DeleteFile, чтобы удалить файл.

Метод Recycler класса DeleteDirectory класса очень похож, за исключением того, что он вызывает FileSystem.DeleteDirectory. Подробнее см. В коде.

Следующий код показывает, как Recycler освобождает корзину.

Код сначала устанавливает нужные параметры, а затем вызывает функцию API SHEmptyRecycleBin.

Класс Recycler упрощает использование этих методов. Например, следующий код показывает, как основная программа удаляет файл, имя которого находится в txtFile TextBox. Другие параметры получают свои значения из настроек CheckBox и RadioButton, выбранных в форме.

Источник: http://csharphelper.com/blog/2015/07/manage-the-recycle-bin-wastebasket-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *