Thanks for your code.
I've already made the same in Delphi some years ago,
but now I needed it in Visual C++.
Of course I was possible for me to copy the functionality,
from the Delphi code, but it is somewhat faster, just to
include your classes directly in the application.
/*This second function allows to select as root special
folders like printers, fonts, "send to", etc
Using this and the flag BIF_BROWSEINCLUDEFILES
You can present a dialog to select printers, fonts, etc
//See SHGetSpecialFolderLocation for CSIDLspecialFolder possible values
bool CFolderDialog::SetRootFolder(int CSIDLspecialFolder)
LPITEMIDLIST pidl = NULL;