var FolderStr:String; bi:TBROWSEINFO; Str:array[0..MAX_PATH] of Char; pIDListItem:PItemIDList; pStr:PChar; Executed:Boolean; begin pStr:=nil; bi.hwndOwner:=GetActiveWindow; bi.pidlRoot:=nil; bi.pszDisplayName:=@str; bi.ulFlags:= BIF_RETURNONLYFSDIRS; bi.lpfn:=nil; bi.lpszTitle:='选择文件的目录……'; pIDListItem:= SHBrowseForFolder(bi); if pIDListItem<>nil then begin pStr:=@Str; SHGetPathFromIDList(pIDListItem, pStr); Executed:=True; end else Executed:=False; if Executed then begin cb_SearchAllDisk.Checked:=False; FolderStr:=pStr; if Length(FolderStr)>3 then FolderStr:=FolderStr+'\'; Edit_SearchDir.Text:=FolderStr; end;
var Dir: string;SelectDirectory('请选择', '', dir); if dir <> '' then begin showmessage(dir); end;
FolderStr:String;
bi:TBROWSEINFO;
Str:array[0..MAX_PATH] of Char;
pIDListItem:PItemIDList;
pStr:PChar;
Executed:Boolean;
begin
pStr:=nil;
bi.hwndOwner:=GetActiveWindow;
bi.pidlRoot:=nil;
bi.pszDisplayName:=@str;
bi.ulFlags:= BIF_RETURNONLYFSDIRS;
bi.lpfn:=nil;
bi.lpszTitle:='选择文件的目录……';
pIDListItem:= SHBrowseForFolder(bi);
if pIDListItem<>nil then
begin
pStr:=@Str;
SHGetPathFromIDList(pIDListItem, pStr);
Executed:=True;
end
else
Executed:=False; if Executed then
begin
cb_SearchAllDisk.Checked:=False;
FolderStr:=pStr;
if Length(FolderStr)>3 then FolderStr:=FolderStr+'\';
Edit_SearchDir.Text:=FolderStr;
end;
Dir: string;SelectDirectory('请选择', '', dir);
if dir <> '' then
begin
showmessage(dir);
end;