Jo. Hab da mal noch ne Frage. Der Code:
Delphi-Quellcode:
function GetFolder(root: integer; Caption: string): string;
var bi: TBROWSEINFO;
lpBuffer: PChar;
pidlPrograms,pidlBrowse: PItemIDList;
begin
if (not SUCCEEDED(SHGetSpecialFolderLocation(getactivewindow,root,pidlPrograms)))
then exit;
lpBuffer := StrAlloc(max_path);
bi.hwndOwner := getactivewindow;
bi.pidlRoot := pidlPrograms;
bi.pszDisplayName := lpBuffer;
bi.lpszTitle := pChar(caption);
bi.ulFlags := BIF_RETURNONLYFSDIRS;
bi.lpfn := nil;
bi.lParam := 0;
pidlBrowse := SHBrowseForFolder(bi);
if (pidlBrowse <> nil) then
begin
if (SHGetPathFromIDList(pidlBrowse,lpBuffer)) then result := lpBuffer;
end;
StrDispose(lpBuffer);
end;
procedure TForm1.Panel3Click(Sender: TObject);
begin
caption := GetFolder(CSIDL_DESKTOP,'Wählen Sie ein Verzeichnis aus:');
end;
Mit dem Code wird ja ein Verzeichnis ab den Desktop geöffnet. Wie mach ich das wenn ich z.B. auf C:\Programme\Test klicke, das er mir in einem RichEdit Feld alle Dateien die im Test Ordner drin sind anzeigt?