[Delphi] DH Icon Changer 0.5

Iniciado por BigBear, 11 Abril 2014, 18:36 PM

0 Miembros y 1 Visitante están viendo este tema.

BigBear

Version final de este programa para cambiarle el icono a cualquier programa (eso creo).

Una imagen :



El codigo.

Código (delphi) [Seleccionar]

// DH Icon Changer 0.5
// (C) Doddy Hackman 2014
// Based on IconChanger By Chokstyle
// Thanks to Chokstyle

unit icon;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, madRes, Vcl.StdCtrls,
  Vcl.Imaging.pngimage, Vcl.ExtCtrls, Vcl.ComCtrls, about;

type
  TForm1 = class(TForm)
    Image1: TImage;
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    StatusBar1: TStatusBar;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    Button2: TButton;
    GroupBox4: TGroupBox;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Edit2: TEdit;
    Image2: TImage;
    OpenDialog2: TOpenDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    Edit1.Text := OpenDialog1.FileName;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin

  if OpenDialog2.Execute then
  begin
    Image2.Picture.LoadFromFile(OpenDialog2.FileName);
    Edit2.Text := OpenDialog2.FileName;
  end;

end;

procedure TForm1.Button3Click(Sender: TObject);
var
  op: string;
  change: dword;
  valor: string;

begin

  valor := IntToStr(128);

  op := InputBox('Backup', 'Backup ?', 'Yes');

  if op = 'Yes' then
  begin
    CopyFile(PChar(Edit1.Text), PChar(ExtractFilePath(Application.ExeName) +
      'backup' + ExtractFileExt(Edit1.Text)), True);
  end;

  try
    begin
      change := BeginUpdateResourceW(PWideChar(wideString(Edit1.Text)), false);
      LoadIconGroupResourceW(change, PWideChar(wideString(valor)), 0,
        PWideChar(wideString(Edit2.Text)));
      EndUpdateResourceW(change, false);
      StatusBar1.Panels[0].Text := '[+] Changed !';
      Form1.StatusBar1.Update;
    end;
  except
    begin
      StatusBar1.Panels[0].Text := '[-] Error';
      Form1.StatusBar1.Update;

    end;
  end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Form2.Show;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
  Form1.Close();
  Form2.Close();
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

  OpenDialog1.InitialDir := GetCurrentDir;
  OpenDialog2.InitialDir := GetCurrentDir;
  OpenDialog2.Filter := 'Icons|*.ico|';

end;

end.

// The End ?


Si quieren bajar el programa lo pueden hacer de aca.