lnks kann er bei mir schon auslesen. mach mal nicht image1.picture.icon sondern image1.canvas.draw(fileicon(filename));
hier mal mein source:
Delphi-Quellcode:
function FileIcon(Name: String):ticon;
var
FileInfo: TSHFileInfo;
ImageListHandle: THandle;
aIcon: TIcon;
begin
FillChar(FileInfo, SizeOf(FileInfo), #0);
ImageListHandle := SHGetFileInfo(
PChar(Name), 0, FileInfo, SizeOf(FileInfo),
SHGFI_ICON or SHGFI_LARGEICON
);
try
aIcon := TIcon.Create;
try
aIcon.Handle := FileInfo.hIcon;
aIcon.Transparent := True;
except end;
except end;
result:=aicon;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not opendialog1.Execute then exit;
Application.Icon:=fileicon(opendialog1.FileName);
end;
bei mir stellt er das ausgelesene Icon als Anwendungssymbol ein. Klappt prima.
[edit] sch... eigentlich müsste ich ja eine dialektische Erörterung als Deutsch-Hausaufgabe schreiben... aber Mammi wird schon nicht schauen.