Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi exe icon variabel machen ? (https://www.delphipraxis.net/86752-exe-icon-variabel-machen.html)

TeronG 19. Feb 2007 11:26

Re: exe icon variabel machen ?
 
Zitat:

Zitat von DGL-luke
... (Merke: Ein Programm kann niemals direkt sich selbst verändern) ...

Das Programm kann doch aber seine eigene Exe löschen und dann (eine neue) mit dem gleichen namen "ReStarten".

So habe ich zumindest mal ne mini-Update-routine verwirklicht :zwinker:

bitsetter 19. Feb 2007 12:50

Re: exe icon variabel machen ?
 
Falls du mit Hilfe des Programmes Reshacker (getestet mit Version 3.4) arbeiten möchtest, dann geht auch folgendes:
Delphi-Quellcode:
uses ShellApi;

procedure TForm1.Button1Click(Sender: TObject);
type
  TPfad = record
  ResHackerPfad, IconPfad, ExePfad, ExeCopyPfad: AnsiString;
end;
  TPfadIndex= array[0..3] of AnsiString;
var
   Pfad: TPfad;
   i: byte;
begin
  Pfad.ResHackerPfad:= 'ResHacker.exe';//Pfad zu Reshacker
  Pfad.ExePfad:= 'Project1.exe';//originale EXE Datei
  Pfad.ExeCopyPfad:= 'ProjectNewIcon.exe';//neue EXE Datei mit neuem Icon
  Pfad.IconPfad:= 'IconNeu.ico';//Pfad zum neuem Icon gleicher Größe

  for i:= 0 to 2 do
  begin
    if pos(':', TPfadIndex(Pfad)[i])= 0 then
      TPfadIndex(Pfad)[i]:= ExtractFilePath(application.ExeName)+ TPfadIndex(Pfad)[i];
    if not FileExists(TPfadIndex(Pfad)[i]) then
    begin
      Showmessage('Die Datei "'+ TPfadIndex(Pfad)[i]+ '" konnte nicht gefunden werden!');
      exit;
    end;
  end;
  ShellExecute(0, 'open', PChar('"'+ Pfad.ResHackerPfad+ '"'), PChar('-modify "'+ Pfad.ExePfad+
    '", "'+ Pfad.ExeCopyPfad+ '", "'+ Pfad.IconPfad+ '", icon, MAINICON,'), nil, SW_SHOW);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz