Enhancing the SHBrowseForFolder API Function

Tuesday Feb 3rd 2004 by Stephen Fonnesbeck
Share:

Extend the functionality that was given in the MSDN Knowledge Base article Q179497 "HOWTO: Select a Directory Without the Common Dialog Control". (Added: 22-Feb-2000)

This code shows how to use the standard SHBrowseForFolder API function with a callback routine to set the initial directory.

Screen-shot

After reading the MSDN knowledge base article Q179378 "HOWTO: Browse for Folders from the Current Directory", I was able to figure out how to add a callback function that sets the starting directory and displays the currently selected path in the "Browse For Folder" dialog.

I used VB 6.0 (SP3) to compile this code. Should work in VB 5.0. However, because it uses the AddressOf operator this code will not work with versions below 5.0.

This code works in Window 95a so I assume it will work with later versions.


(Tested also under Win98/NT - works fine)


Usage:


    Dim folder as string
    '
    folder = BrowseForFolder(me, "Select A Directory", _
             "C:\startdir\anywhere")
    '
    If len(folder) = 0 then Exit Sub  'User Selected Cancel
    '

Download Zipped Files (5k)

Share:
Home
Mobile Site | Full Site
Copyright 2017 © QuinStreet Inc. All Rights Reserved