Win32 - Boîte de dialogue Sélectionner un répertoire à partir de C / C ++

Comment sélectionner un dossier existant (ou en créer de nouvelles) à partir d'un natif Win32 application?

Voici une question similaire. Il a une bonne réponse pour C#/.NET. Mais je veux la même chose pour le natif Win32.

Quelqu'un connait une solution, gratuit code, etc?

Mise à jour:

J'ai essayé la fonction à partir de la réponse. Tout a fonctionné comme prévu, sauf qu'il est nécessaire d'appeler la SHGetPathFromIDList fonction pour récupérer le nom du répertoire sélectionné. Voici un exemple de capture d'écran:

Win32 - Boîte de dialogue Sélectionner un répertoire à partir de C /C ++

source d'informationauteur Kirill Kobelev