ورود

نسخه کامل مشاهده نسخه کامل : استراج آیکن های یک فایل (exe)



zavf
08-09-2008, 05:34
سلام . با این کد شما قادر خواهید بود که آیکن های یک فایل Exe را مشاهده کنید .

کل کد Unit


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Shellapi, StdCtrls, ExtCtrls, ComCtrls, XPMan, Buttons;
type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
XPManifest1: TXPManifest;
GroupBox1: TGroupBox;
Button1: TButton;
Panel1: TPanel;
Image1: TImage;
TrackBar1: TTrackBar;
StaticText1: TStaticText;
Image2: TImage;
BitBtn1: TBitBtn;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);

{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i:Integer ;
implementation
uses StrUtils;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
i:=0;
OpenDialog1.Filter:='Exe File(*.Exe)|*.exe|All(*.*)|*.*';
OpenDialog1.Execute;
if OpenDialog1.FileName='' then exit;
Image1.Picture.Icon.Handle:=ExtractIcon(0,pchar(Op enDialog1.filename),
TrackBar1.Position);
if image1.Picture.Icon.Handle=0 then
begin
TrackBar1.Enabled:=False;
StaticText1.Caption:='File '+'"'+OpenDialog1.FileName+'"'+'no icon';
end
else
begin
TrackBar1.Enabled:=true;
end;
image2.Picture.Icon.Handle:=1;
while image2.Picture.Icon.Handle <> 0 do
begin
i:=i+1;
Image2.Picture.Icon.Handle:=ExtractIcon(0,pchar(Op enDialog1.filename),i);
end;
if i=1 then TrackBar1.Enabled :=false;
if i<>1 then TrackBar1.Enabled :=true;
TrackBar1.Max:=i-1;

end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
Image1.Picture.Icon.Handle:=ExtractIcon(0,pchar(Op enDialog1.filename),TrackBar1.Position);
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
SaveDialog1.Filter:='Bitmap File (*.Bmp)|*.bmp';
SaveDialog1.Execute;
if SaveDialog1.FileName='' then exit;
if MidStr(SaveDialog1.FileName,length(SaveDialog1.Fil eName)-3,1)='.' then
Image1.Picture.SaveToFile(SaveDialog1.FileName);
if MidStr(SaveDialog1.FileName,length(SaveDialog1.Fil eName)-3,1)<>'.'then
image1.Picture.Graphic.SaveToFile(SaveDialog1.File Name+'.bmp');
end;

end.


دانلود سورس (9 کیلو بایت)

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]







ببخشید اگر بد پست کردم !!!