unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function GetFileIcon( FileName: String ): HICON;
var
   SHFileInfo: TSHFileInfo;
begin
   ShGetFileInfo( PChar( FileName ), 0, SHFileInfo, SizeOf( TSHFileInfo ), SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_EXETYPE {or SHGFI_SMALLICON });
   Result := SHFileInfo.hIcon;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   AIcon: TIcon;
begin
   AIcon := TIcon.Create;
   try
      AIcon.Handle := GetFileIcon( 'C:\UTIL\COMM\eMule\emule.exe' );
      Image1.Picture.Assign( AIcon );
   finally
      AIcon.Free;
   end;
end;

end.

'프로그래밍 언어 > Delphi' 카테고리의 다른 글

델파이 레지스트리 저장하기  (0) 2007.02.08
중복실행 방지 - Mutex  (0) 2007.01.14
Delphi 에서 UPX 사용  (0) 2007.01.14
블로그 이미지

용병

,