{ uses ShlObj,FileCtrl}
var
BrowseInfo: TBrowseInfo;
pIDLst: PItemIDList;
Dir: array[0..MAX_PATH-1] of char;
begin
FillChar(Dir, SizeOf(Dir), 0);
with BrowseInfo do
begin
hwndOwner := Handle;
pidlRoot := nil;
pszDisplayName := nil;
lpszTitle := '请选择目录';
ulFlags := 0;
lpfn := nil;
lParam := 0;
iImage := 0;
end;
pIDLst := SHBrowseForFolder(BrowseInfo);
SHGetPathFromIDList(pIDLst, @Dir);
ShowMessage(Dir);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Dir:string;
begin
if selectdirectory('请选择目录','/',dir)=False then exit;
ShowMessage(Dir);
end;
-----------------------------------------------------------------------------
属性对话框: //uses shellapi
procedure TForm1.BitBtn1Click(Sender: TObject);
var Sei:ShellExecuteInfo;
begin
Sei.cbSize:=SizeOf(Sei);
Sei.fMask:=See_Mask_NoCloseProcess or SEE_MASK_INVOKEIDLIST or See_Mask_Flag_No_Ui;
Sei.Wnd:=Form1.Handle;
Sei.lpVerb:='Properties';
Sei.lpFile:=pchar('c:\command.com');
Sei.lpParameters:=Nil;
Sei.lpDirectory:=nil;
Sei.nShow:=0;
sei.hInstApp:=0;
Sei.lpIDList:=0;
ShellExecuteEx(@Sei);
end;