Az alábbi példa bemutatja, hogy hogyan lehet használni a Windows könytárválasztó párbeszédablakját
az SHBrowseForFolder Win32API függvény segítségével.
{ . . . }

implementation
uses shlobj;
{$R *.DFM}

function ShellShowDirs ( AHandle : HWND ): string ;
var
BrowsingInfo : TBrowseInfo ; // BrowsingInfo;
DirPath : String ; // char DirPath[MAX_PATH];
FolderName : string ; // char FolderName[MAX_PATH];
pItemId : PItemIDList; // LPITEMIDLIST; ItemID;
begin
DirPath := '' ;
FolderName := '' ;
DirPath := StringOfChar(' ', MAX_PATH);
FolderName := StringOfChar (' ' , MAX_PATH) ;
// A párbeszédablak tulajdonságai
BrowsingInfo.hwndOwner := AHandle ; // self.Handle ;
BrowsingInfo.pszDisplayName := PChar(FolderName) ;
BrowsingInfo.lpszTitle := PAnsiChar
('Válassz egy könyvtárat!');
BrowsingInfo.ulFlags := BIF_RETURNONLYFSDIRS
and BIF_DONTGOBELOWDOMAIN ;
BrowsingInfo.pidlRoot := nil ;
BrowsingInfo.lpfn := nil ;
// A párbeszédablak megjelenítése
pItemID := SHBrowseForFolderA( BrowsingInfo );
// A választott könyvtár megállapítása
SHGetPathFromIDList(pItemID, PChar(DirPath));
result := PChar(DirPath) ;
// pItemId által lefoglalt memória felszabadítása
GlobalFreePtr(pItemID);
end; 

procedure TForm1.SelDirBtnClick(Sender: TObject);
var
sDir : string ;
begin
sDir := ShellShowDirs (self.Handle);
if ( length(sDir) > 0 ) then
ShowMessage ('A választott könyvtár:'+ #13 + sDir )
else
ShowMessage ('Nem választott könyvtárat.') ;
end ;