如果要选择目录的话就这样:
uses shlobj,activex;procedure TForm1.Button1Click(Sender: TObject);
var
    Info: TBrowseInfo;
    Dir: array[0..260] of char;
    ItemId: PItemIDList;
begin
    with Info do begin
        hwndOwner := self.Handle;
        pidlRoot := nil;
        pszDisplayName := nil;
        lpszTitle := '请选择XXX的文件夹';
        ulFlags := 0;
        lpfn := nil;
        lParam := 0;
        iImage := 0;
    end;
    ItemId := SHBrowseForFolder(info);
    if ItemId <> nil then
        begin
            SHGetPathFromIDList(ItemId, @Dir);
            showmessage(dir);
        end
end;