@SirThornberry:
1. mit 'nem leeren Dateinamen geht's auch?
2. Wieso SHGFI_OPENICON?
Hier mal eine kleine Funktion, die ich mir Anno 98 geschrieben hab' (könnte man lt. obigen Post dann wohl auch vereinfachen) - liefert das
Handle für kleine oder große Symbole:
Delphi-Quellcode:
function GetShellImageListHandle(fSmall: boolean): THandle;
var
sfi: TShFileInfo;
WinDir: string;
begin
SetLength(WinDir, MAX_PATH);
GetWindowsDirectory(PChar(WinDir), MAX_PATH);
FillChar(sfi, SizeOf(sfi), 0);
if fSmall
then Result := SHGetFileInfo(PChar(WinDir), 0, sfi, SizeOf(sfi),
SHGFI_SYSICONINDEX or SHGFI_SMALLICON)
else Result := SHGetFileInfo(PChar(WinDir), 0, sfi, SizeOf(sfi),
SHGFI_SYSICONINDEX or SHGFI_LARGEICON);
end;
[Nachtrag]
Ach so: für einzelne Dateien und Ordner kannst du dann ebenfalls mit
SHGetFileInfo mit dem Parameter
SHGFI_SYSICONINDEX den Image-Index ermitteln.