AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EXE kopiert sich selbst...

Ein Thema von cruso · begonnen am 2. Jan 2006 · letzter Beitrag vom 2. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2      
cruso
(Gast)

n/a Beiträge
 
#1

EXE kopiert sich selbst...

  Alt 2. Jan 2006, 10:27
Hi!

Wie kann ich dafür sorgen, dass ein Programm seine eigene EXE in ein anderes Verzeichenis kopiert?
Vllt ein Ansatz: Es ist ja möglich die eigene EXE nach dem Beenden zu löschen; über eine Batch-Datei. Wie müsste diese Datei nun aussehen um die Anwendung zur Laufzeit oder direkt danach in ein anderes Verzeichnis zu kopieren?
Wisst ihr vllt wie ich das realisieren kann? Es muss ja nicht unbedingt über eine Batch-Datei geregelt sein.


MfG
Cruso
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#2

Re: EXE kopiert sich selbst...

  Alt 2. Jan 2006, 10:36
Was willst denn damit anfangen? Ich bin mir recht sicher, dass niemand gerne ein Programm auf dem Rechner hat, das sich nach Beendigung woanders hinkopiert.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#3

Re: EXE kopiert sich selbst...

  Alt 2. Jan 2006, 10:40
Das soll z.B. eine Art konfiguration für ein Programm werden (eine Art Mini-Installer) man lädt es herunter und kopiert es auf den Desktop, öffnet es und nach dem Beenden oder während der Laufzeit oder danach wird das Programm kopiert/eingerichtet.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#4

Re: EXE kopiert sich selbst...

  Alt 2. Jan 2006, 10:42
Mit CopyFile die Datei kopieren - über ParamStr(0), oder Application.ExeName (ersteres is aber besser, außerdem greift letzteres eh auch nur auf ParamStr zu)

im Original:
- CopyFile(ParamStr(0), ...);
- die Kopie starten (dieser über die Parameter den Pfad der alten Datei und den Befehl zum Löschen mitgeben)
- sich selbst beenden

in der Kopie:
- beim Start das Original löschen (eventuell über 'nen Timer etwas warten)




Oder die Batchdatei entsprechend abändern:
> http://www.delphipraxis.net/internal...ct.php?t=11528
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#5

Re: EXE kopiert sich selbst...

  Alt 2. Jan 2006, 11:10
Und wie müsste nun genau eine Batch-Datei aussehen, die die EXE nach Beendigung in ein anderes Verzeichnis kopiert?
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: EXE kopiert sich selbst...

  Alt 2. Jan 2006, 11:13
ich dachte es muss net unbedingt über eine batch datei sein???
vlees91
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#7

Re: EXE kopiert sich selbst...

  Alt 2. Jan 2006, 11:19
Ja schon, aber über eine Batch-Datei wäre es einfacher zu erweitern usw.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

Re: EXE kopiert sich selbst...

  Alt 2. Jan 2006, 11:28
Zitat:
copy "%VERZEICHNISS DER EXE%\$DATEINAME DER EXE$" "%NEUES VERZEICHNISS DER EXE%\$NEUER DATEINAME DER EXE$"
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#9

Re: EXE kopiert sich selbst...

  Alt 2. Jan 2006, 11:55
Und wie würde das dann genau aussehen? also mit Beispielen? Ich weiß ja nicht wie ich was schreiben soll...
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#10

Re: EXE kopiert sich selbst...

  Alt 2. Jan 2006, 11:57
Um die Batch-Datei zu starten:

Delphi-Quellcode:
uses ShellAPI;

procedure TForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ShellExecute(Application.handle, nil, 'Kopieren.bat', nil, PChar(GetCurrentDir), SW_MINIMIZED);
end;
Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz