Перемещение файлов в корзину и очистка корзины хорошо документированы, но как можно программно восстановить файл из корзины?
Как восстановить файл из корзины с помощью С#?
Ответ 1
Кажется, что не существует решения в чистом С#. Скорее всего, вам придется прибегнуть к P/Invoke. В этой статье представлено решение на С++ с помощью SHFileOperation API.
Ответ 2
Единственная ссылка на это выше упомянутой ссылки на codeproject, которую я вижу, упоминает следующее:
Вызвать SHGetFolderLocation, передавая CSIDL_BITBUCKET. Затем вы можете управлять этой папкой, как обычно. Вам понадобится создать interop для функции SHGetFolderLocation.
"CSIDL_BUCKET" является константой для виртуальной папки RecycleBin. Цитата взята из здесь и будет включать взаимодействие с оболочкой Windows. MSDN также упоминает, что эта функция была устарела в пользу другой в Vista.