Hallo!
Ich interessiere mich dafür, verschiedene virtuelle Folder zu erhalten.
Jetzt habe ich folgendes Beispiel im Internet gefunden, welches die meisten Folder zurück gibt. Nur leider nicht das von CSIDL_CONTROLS.
Hat jemand eine Idee, wie ich das virtuelle Verzeichnis von CSIDL_CONTROLS erhalte um die Icon in diesem Verzeichnis auszulesen?
Gruß aus dem Emsland
max666
Delphi-Quellcode:
uses ShlObj;
procedure TForm1.FormCreate(Sender: TObject);
const
Folders: array [0..15] of integer = (
CSIDL_BITBUCKET,
CSIDL_CONTROLS,
CSIDL_DESKTOP,
CSIDL_DESKTOPDIRECTORY,
CSIDL_DRIVES,
CSIDL_FONTS,
CSIDL_NETHOOD,
CSIDL_NETWORK,
CSIDL_PERSONAL,
CSIDL_PRINTERS,
CSIDL_PROGRAMS,
CSIDL_RECENT,
CSIDL_SENDTO,
CSIDL_STARTMENU,
CSIDL_STARTUP,
CSIDL_TEMPLATES);
var
s: PChar;
p: PItemIDList;
i: integer;
begin
s := StrAlloc(128);
for i := low(Folders) to high(Folders) do begin
p := nil;
SHGetSpecialFolderLocation(Form1.Handle, Folders[i], p);
SHGetPathFromIDList(p, s);
ListBox1.Items.Add(s);
end;
end;