Entwickler-Ecke

Dateizugriff - Icon aus exe


Snoop007 - Do 04.07.02 20:48
Titel: Icon aus exe
Hi,
wie kann ich das icon einer exe - datei auslesen, es muss nur das erste icon ausgelesen werden
danke schonmal für die antwort


Arakis - Fr 05.07.02 08:40

Da gibt es ein kleines Tool [http://www.zdnet.com/downloads/stories/info/0,,38759,.html], aber ich denke, du möchtest das mit einer Delphi-Applikation auslesen. Da kann ich dir leider nicht helfen.

Bis dann
user defined image


Tino - Fr 05.07.02 09:04

Diese Beispiel könnte die Antwort sein

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.FormPaint(Sender: TObject);
var
  LargeIcon: HIcon;
  SmallIcon: HIcon;
  IconCount: Integer;
  i: Integer;
  FileName: PChar;
begin
  // draw a stripe with all large icons contained in the file
  // and below of that a stripe with all small icons.

  FileName := 'C:\WinNT\RegEdit.exe';
  IconCount := ExtractIconEx(FileName, -1, LargeIcon, SmallIcon, 0);
  for i := 0 to Pred(IconCount) do
  begin
    ExtractIconEx(FileName, i, LargeIcon, SmallIcon, 1);
    DrawIcon(Canvas.Handle, 5 + i * 36, 5, LargeIcon);
    DrawIconEx(Canvas.Handle, 5 + i * 36, 50, SmallIcon,
      GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0, 0, DI_NORMAL);
  end;
end;
Gruß


erniepb - Fr 05.07.02 10:32

wenn wir hier beim rausholen sind .. kann mir vielleicht auch jemand erklären wie man mehr als ein Icon in die exe-Datei reinkriegt ??


JacFab - Mi 09.10.02 13:55

Dies interessiert mich auch, aber bei mir funktioniert es nicht!
Er sagt immer "Undefinierter Bezeichner: 'ExtractIconEx' woran liegt das?


Delete - Mi 09.10.02 14:06

Unit ShellAPI einbinden.

Und mehrere Icons bekommt man mit einer Ressourcen-Datei in die Exe.


JacFab - Mi 09.10.02 15:45

Jetzt ist der Fehler weg, aber wie bekomme ich das icon nun in ein Image oder so?


Delete - Mi 09.10.02 15:52

Von wo? Von der Festplatte, ImageList oder Ressource?


JacFab - Mi 09.10.02 18:36

Also auf meine Form, in das Picture oder image steuerelement!


Delete - Fr 11.10.02 08:23

JacFab hat folgendes geschrieben:
Also auf meine Form, in das Picture oder image steuerelement!

:roll: Ja, schon klar. Aber Luckie wollte wissen, woher dein Image kommt. Ist es eine Datei auf der Festplatte, stammt es aus einer ImageListe oder aus den Programmressourcen?! Dass du es auf der Form anzeigen willst, versteht sich doch von selbst.


georgfischerx - Fr 11.10.02 09:22
Titel: ICONS aus EXE, DLL etc.
Hallo,

wenn Du mir Deine E-Mail-Adresse zusendest an georgfischerw@hotmail.com, kann ich Dir gelegentlich
den Source-Code eines Beispiel-Programmes
zukommen lassen, das genau das tut, was Du willst:

Icons aus EXE, DLL etc. extrahieren.

Gruss, Georg


LCS - Fr 11.10.02 09:27

Hi
schau doch einfach mal auf deine Delphi CD. Da ist genau das drauf was du brauchst. Verzeichnis Demos\ResXplor: Ein Programm um Icons und andere Resourcen anzuzeigen und zu extrahieren.

Gruss Lothar


Biarchiv - Fr 18.10.02 13:01

Hallo,

Das das interessiert mich auch.
Da gibts es reshacker, exescope,....

Aber wie kann ich selber in Delphi ein Icon aus einer Datei kopieren und
in einer anderen EXE einsetzen?

Hat da wer eine Lösung????

Währe Dankbar das brächte ich für ein Programm.


Delete - Fr 18.10.02 14:02

Eine Lösung wofür? - Kannst du dein Problem
Zitat:
Aber wie kann ich selber in Delphi ein Icon aus einer Datei kopieren und in einer anderen EXE einsetzen?

etwas genauer beschreiben?

Willst du das Icon der Exe für dein eigenes Programm benutzen?
Willst du es -während dein Programm läuft- z.B. in einer Listview usw. anzeigen?

:?:


Biarchiv - Fr 18.10.02 14:05

Hallo,

Ich will ein Icon von einer EXE rauskopieren und einer anderen EXE
einpflanzen.

Uns vieleicht in einer Image1 anzeigen lassen.


Delete - Fr 18.10.02 14:26

Ich meinte: soll dieses Icon aus dem anderen Programm DEIN Standardicon sein? Oder hat dein Programm irgendein eigenes Icon, und du willst -wenn du dein Programm gestartet hast- das Symbol des anderen Programms einfach mal so anzeigen.

Variante #1; das Icon des anderen Programm soll das Standardicon für dein Programm werden -
Da würde ich erst mal nach dem Copyright gucken. Wenn´s ´ne bekannte Software (und demzufolge ein bekanntes Symbol ist), könntest du Probleme bekommen.
Dann kannst du z.B. den simplen Ressourcen-Viewer nehmen, der als Quellcode bei Delphi dabei ist. Mit dem lädtst du die gewünschte Exe, suchst das Icon und extrahierst es.
Dann gibst du es in deinem Delphi-Projekt als Symbol an - und fertig.

Variante #2; du willst das Symbol einer anderen Anwendung zur Laufzeit in deinem Programm anzeigen -
s. weiter oben, Tinos Quellcodebeispiel. Ein bisschen damit herumspielen (mit Tinos Quellcodebeispiel, meine ich :roll:), und dann wirst du sehen was man damit machen kann ... (mit Tinos Quellcodebeispiel ...)