Mit dem Code unten habe ich ein problem, dass die Icons alle verschwommen in meinem TImage sind.
warum bzw welche Lösung gibt es?
ExtractIcon kommt nicht in Frage, da ich schon das Icon brauche wie es Windows sieht. Wenn ich mir die Datei im Explorer anschaue ist alles gut...
Delphi-Quellcode:
procedure GetAssociatedIconEx(MyImage: TImage);
var
SHFileInfo: TSHFileInfo;
begin
FillChar(SHFileInfo, SizeOf(TSHFileInfo), 0);
if (SHGetFileInfo(PChar('C:\MeinExt.ghs'), FILE_ATTRIBUTE_NORMAL, SHFileInfo, SizeOf(TSHFileInfo), SHGFI_ICON OR SHGFI_USEFILEATTRIBUTES ) <> 0) then
try
MyImage.Picture.Icon.Handle := CopyIcon(SHFileInfo.hIcon);
finally
DestroyIcon(SHFileInfo.hIcon);
end;
end;