Récupérer répertoires virtuels par API

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)

Any idea ?

On peut changer le nom du répertoire de la corbeille ?
Je pensais pas.

Pour y accéder, tu peux directement aller voir le répertoire “Recycled”.

Exact, tu peux changer le nom directement dans la BDR : valeur default dans HKEY_CLASSES_ROOTCLSID{645FF040-5081-101B-9F08-00AA002F954E}

Mais le répertoire n’est pas toujours {Nom_volume}Recycled.

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”.

Plus d’infos sur http://www.codeproject.com/shell/recyclebin.asp#xxxx