![]() |
Icon eine *.exe
Hallo!
Ich würde gerne aus einer Anwendung (*.exe) das Icon auslesen und in eine TImageList einfügen. Wie mache ich das? Danke! |
Re: Icon eine *.exe
|
Re: Icon eine *.exe
Danke für die schnelle Antwort!
Lade mir jetzt das icon mit folgendem code:
Delphi-Quellcode:
In der letzten Zeile kommt eine Fehlermeldung "Ungültige Bildgröße".
ico.Handle := ExtractIcon(Application.Handle, PChar(filename), 0);
Bitmap.Canvas.Draw(0,0,ico); Images.Add(bitmap, nil); Warum, und was kann ich dagegen tun? |
Re: Icon eine *.exe
Mache es jetzt anders:
Delphi-Quellcode:
So funzt es.
ico.Handle := ExtractIcon(Application.Handle, PChar(filename), 0);
ImagesList.Addicon(ico); |
Re: Icon eine *.exe
Du hast bei dem vorherigen wohl ein Create vergessen gehabt ?
Ich mache es so:
Delphi-Quellcode:
function GetIconFromFile(Filename: String; aIcon: TIcon;
IconIndex: Integer): Integer; var NumberOfIcons: Integer; begin // Anzahl der Icons in einer Datei NumberOfIcons := ExtractIcon(hInstance, PChar(Filename), UINT(-1)); // Ein Icon auslesen angg. im IconIndex if (aIcon <> nil) and (NumberOfIcons > -1) then aIcon.Handle := ExtractIcon(hInstance, PChar(Filename), IconIndex); Result := NumberOfIcons; end; // Aufruf zB.: procedure TForm1.Button1Click(Sender: TObject); var Ico: TIcon; begin // Nummer der Icons einer Datei ShowMessage ( IntToStr( GetIconFromFile(paramstr(0), nil, 0)) ); // Das erste Icon auslesen Ico := TIcon.Create; try if GetIconFromFile(paramstr(0), Ico, 0) > 0 then if Ico <> nil then Image1.Picture.Assign(Ico); finally Ico.Free; end; end; |
Re: Icon eine *.exe
Es geht zwar, aber die create-Funktion war nicht schuld. Sonst käme der Fehler doch in einer anderen Zeile, oder?
Und außerdem wollte ich es in eine ImageList einfügen. und das geht ja so auch. |
Re: Icon eine *.exe
Mal eine Frage, wo kommt das ExtractIcon her? Mein Delphi kennt die function nicht.
|
Re: Icon eine *.exe
Delphi-Quellcode:
Ist eine Windowsfunktion.
uses ShellAPI;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz