Hi ich bins nochmal
ich benutze jetz folgende funktion:
Delphi-Quellcode:
function GetFileIcon(const FileName: string; const Icon: TIcon; const FileMustExist: Boolean): Boolean;
var
FI: TSHFileInfo;
Attributes: DWORD;
Flags: Word;
begin
if FileMustExist then
begin
Attributes := 0;
Flags := SHGFI_ICON or SHGFI_LARGEICON;
end
else
begin
Attributes := FILE_ATTRIBUTE_NORMAL;
Flags := SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_LARGEICON;
end;
if SHGetFileInfo(PChar(FileName), Attributes, FI, SizeOf(FI), Flags) <> 0 then
begin
Icon.ReleaseHandle;
Icon.Handle := FI.hIcon;
Result := True;
end
else Result := False;
end;
So diese Funktion funktioniert schon ganz gut. Nur hab ich noch zwei Probleme damit.
Also wenn ich FileMustExist auf true setzte dann bekomme ich bei einer .Ink datei (verknüpfung) überhaupt keinen Icon.
Aber wenn ich FileMustExist auf false setzte dann bringt er bei einem Ordner kein richtiges Icon mehr.
Habt ihr eine Ahnung warum?