• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 756
  • Last Modified:

SHBrowseForFolder full example required!

Hi

Can anyone give me a full example of how to use SHBrowseForFolder? To give a complete overview, I want the user to locate their floppy disk drive. Then I check if there's a disk in, if it's formatted and blank, prompting the user to format if otherwise.

Many thanks!
0
wjdashwood
Asked:
wjdashwood
1 Solution
 
jkrCommented:
The above sample is the 'fully featured' version. The scoop basically is

    BROWSEINFO      bi;
    LPMALLOC        pMalloc =   NULL;    
    LPITEMIDLIST    pidl;
    char        acSrc   [   MAX_PATH];

    if  (   SHGetMalloc (   &pMalloc)   !=  NOERROR)
            return  (   ( char) 0);

    ZeroMemory  (   &bi,    sizeof  (   BROWSEINFO));

    bi.hwndOwner        =   hWnd;
    bi.pszDisplayName   =   acSrc;
    bi.ulFlags          =   BIF_RETURNONLYFSDIRS | BIF_RETURNFSANCESTORS;
    bi.lpszTitle        =   "Please select floppy drive";

    if  (   pidl    =   SHBrowseForFolder   (   &bi))
        {
            if  (   !SHGetPathFromIDList    (   pidl, acSrc))
                    continue;

            // floppy path is now stored in 'acSrc'

            pMalloc->Free   (   pidl);
        }

    if  (   pMalloc)    
            pMalloc->Release();  

And to format a floppy, you could use http://www.codeproject.com/dialog/cformatdrivedialog.asp?target=shformatdrive
0
 
wjdashwoodAuthor Commented:
Thanks I think I've got the idea.

Cheers
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now