у меня вот что получилось (Delphi 7):
Код:
uses
Shobjidl,
...
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
...
procedure TForm1.Button1Click(Sender: TObject);
var
Directory: String;
begin
if SelectDirectory(Handle, 'MyCaption', 'C:\Program Files', Directory) then
Edit1.Text:=Directory;
end;