Accueil > Codes Sources > Shell et Windows > Extraire l'Icône d'un Exécutable

Télécharger l'Exemple     

 

Cette source montre comment extraire l'icône incluse dans un fichier exécutable ainsi que dans une Dll et la charger dans un composant TImage.

L'icône extraite peut ensuite être enregistrée sous le format Windows Bitmap.

 

UMain.pas

unit UMain;

interface

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

type
TFMain = class(TForm)
DlgOpen: TOpenDialog;
BtOpen: TButton;
BevMain: TBevel;
LbLink: TLabel;
procedure BtOpenClick(Sender: TObject);
procedure LbLinkClick(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
FMain: TFMain;

implementation

{$R *.dfm}

procedure TFMain.BtOpenClick(Sender: TObject);
begin
if DlgOpen.Execute then
begin
Icon:=TIcon.Create;
Icon.Handle:=ExtractIcon(hInstance,PChar(DlgOpen.FileName),0);
DrawIcon(FMain.Canvas.Handle,75,45,Icon.Handle);
Icon.Free;
end;
end;

procedure TFMain.LbLinkClick(Sender: TObject);
begin
ShellExecute(Handle,'open','http://www.delphilab.com',nil,nil,SW_SHOWMAXIMIZED);
end;
end.

Haut de Page ^

GetExeIcon.dpr

program GetExeIco;

uses
Forms,
UMain in 'UMain.pas' {FMain};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TFMain, FMain);
Application.Run;
end.

Haut de Page ^