PDA

Ver la Versión Completa : ¿Cómo hacer un extractor de iconos?


Dae
11-04-2011, 18:37:46
buenas, pues como dice el titulo del hilo jeje mi pregunta es: como se cual api usar para crear un extractor de iconos de aplicaciones .EXE y como iria aqui>

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
(si no estoy mal aqui va la fuction) ?
implementation

{$R *.dfm}

end.

mi objetivo es crear un extractor de iconos de aplicaciones .EXE
y si es tanto donde puedo ver la funcion de cada api.

uso delphi 7 segunda edicion

espero no aya pedido mucho jeje gracias de antemano por la ayuda :)

saludos

broly7
11-04-2011, 22:14:27
Perdon por no poder ayudarte.
Offtopic: ¿Por qué todo el mundo usa Delphi 7?

beginner01
11-04-2011, 22:26:47
saludos.

aqui (http://www.delphi3000.com/articles/article_3126.asp) hay algo que quizas pueda ayudarte

Keiso
12-04-2011, 00:30:20
Prueba con esto (http://www.angelfire.com/hi5/delphizeus/saveicons.html), tiene lo que necesitas para empezar.

Dae
12-04-2011, 00:44:34
Gracias amigos por la ayuda ahora vere los link y les cuento


saludos

beginner01
12-04-2011, 01:40:16
saludos.

en el formulario agregas un tbutton y un topendialog.
en el evento onclick del tbutton pones este codigo.


var
NumberOfIcons, i,j: Integer;
begin
j:=1;
if opendialog1.Execute then
begin
icono := TIcon.Create;
try
// Get the number of Icons
NumberOfIcons := ExtractIcon(Handle, PChar(opendialog1.FileName), UINT(-1));
ShowMessage(Format('%d Icons', [NumberOfIcons]));

for i := 0 to 10 do
begin
j:=j+1;
// Extract an icon
icono.Handle := ExtractIcon(Handle, PChar(opendialog1.FileName), i);
// Draw the icon on your form
DrawIcon(Form1.Canvas.Handle, 10, i * 40, icono.Handle);
//se guardan los iconos en la ruta de el ejecutable
icono.SaveToFile(ExtractFilePath(Application.ExeName)+inttostr(j)+'.Ico');
end;
finally
icono.Free;
end;
end;


este codigo es solo una prueba.

Dae
12-04-2011, 20:23:18
Gracias amigos solucionado mi tema jeje