两种选择目录对话框{ 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;