Comment restaurer un fichier de la corbeille en utilisant C #?

Le déplacement de fichiers dans la corbeille et le vidage de la corbeille sont bien documentés, mais comment restaurer un fichier par programme à partir de la corbeille?

Il ne semble pas y avoir de solution en C # pur. Vous devrez probablement recourir à P / Invoke. Cet article présente une solution en C ++ utilisant l’API SHFileOperation .

La seule autre référence à cela au-delà du lien mentionné précédemment à codeproject que je peux voir mentionne ceci:

Appelez SHGetFolderLocation en transmettant CSIDL_BITBUCKET. Ensuite, vous pouvez manipuler ce dossier comme d’habitude. Vous devrez créer une interopérabilité pour la fonction SHGetFolderLocation.

“CSIDL_BUCKET” étant la constante du dossier virtuel RecycleBin. La citation est tirée d’ ici et impliquera une interopérabilité avec le shell Windows. MSDN mentionne également que cette fonction a été déconseillée au profit d’une autre dans Vista.