Solved

SHBrowseForFolder full example required!

Posted on 2003-12-05
3
727 Views
Last Modified: 2013-11-20
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
Comment
Question by:wjdashwood
3 Comments
 
LVL 48

Expert Comment

by:AlexFM
ID: 9883757
0
 
LVL 86

Accepted Solution

by:
jkr earned 500 total points
ID: 9883961
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
 

Author Comment

by:wjdashwood
ID: 9884045
Thanks I think I've got the idea.

Cheers
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Introduction: Displaying information on the statusbar.   Continuing from the third article about sudoku.   Open the project in visual studio. Status bar – let’s display the timestamp there.  We need to get the timestamp from the document s…
Introduction: Ownerdraw of the grid button.  A singleton class implentation and usage. Continuing from the fifth article about sudoku.   Open the project in visual studio. Go to the class view – CGridButton should be visible as a class.  R…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now