Je souhaite accéder par API au contenu de la corbeille. Je pensais pouvoir utiliser l’API shgetspecialfolderpath pour obtenir le répertoire de celle-ci et le parcourir ensuite, mais celui-ci échoue dans le cas d’un répertoire virtuel, ce qui est le cas pour la corbeille. (SHQueryRecycleBin me donne bien le nombre d’éléments dans la corbeille; la taille de l’ensemble des fichiers dans la poubelle, mais pas où/comment accéder à ces fichiers)
De même, j’arrive à obtenir le répertoire commun de “Mes documents” (SHGetSpecialFolderLocation avec la constante CSIDL_COMMON_DOCUMENTS, par défaut C:Documents and SettingsAll UsersDocuments sous XP) mais pas le répertoire de “Mes documents” lié à l’utilisateur actif (SHGetSpecialFolderLocation avec la constante CSIDL_MYDOCUMENTS). Apparemment, c’est là aussi du au fait que CSIDL_MYDOCUMENTS est un répertoire virtuel.
Je bénirais bien volontiers pour quelques siècles la personne qui me trouverait une solution à ces deux (quoique probablement le même en fait) problèmes.
Problème résolu pour “mes documents” (base de registre : HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folderspersonal), mais pas pour la corbeille (le répertoire de la corbeille n’est pas dans la BDR)
Ca y esssstttttt
Donc, la solution pour ceux que ça intéresserait :
“hidden folder whose name will vary depending on the format of the hard-drive: if it’s NTFS, the name will be Recycler, otherwise Recycled.”
En effet, si vous essayer de créer le répertoire “Recycler” sur c: et que vous êtes bien en ntfs, windows va vous opposer un gentil mais néanmoins ferme refus. Testé et approuvé aussi sur une machine en fat32, cette fois avec “Recycled”.