Zitat von
sniffy:
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?
Hi!
So wie ich das sehe mit diesem Code gar nicht, da er sich auf SpecialFolders wie Desktop, eigene Dateien etc. bezieht.
Ciao Frederic