| Autor |
Beitrag |
derDoc
      
Beiträge: 623
Win Vista Prof
D2007 Prof
|
Verfasst: Mo 17.02.03 22:43
Kann ich ein Programm, oder genauer seine *.exe Datei, während der Laufzeit in einen anderen Ordner kopieren? Ich habe das mit CopyToFile(Application.ExeName, 'C:\Programme\Bla\Programm.exe'); versucht, hatte aber keinen Erfolg.
_________________ MfG derDoc
There are only 10 types of people: those who understand binary and those who don't.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 17.02.03 22:51
CopyToFile kenne ich nicht. Aber wie wäre es mit CopyFile?
|
|
DaFox
      
Beiträge: 189
|
Verfasst: Mo 17.02.03 22:54
Hi.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.Button1Click(Sender: TObject); var Source, Target: TFileStream; begin Source := TFilestream.Create(Application.Exename, fmOpenRead or fmShareDenyNone); try Target := TFileStream.Create('C:\copy.exe', fmCreate); try Target.CopyFrom(source, 0); finally Target.Free end; finally Source.Free end; end; |
Gruß,
Markus
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 17.02.03 22:56
|
|
Popov
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 17.02.03 23:05
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 17.02.03 23:07
Also den Schritt, das jetzt in eine Prozedur zu verpacken, hätte ich ihm jetzt aber zugetraut. 
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: Mo 17.02.03 23:42
Also - das kann er doch nicht machen!!! *schreck*
Das kann er doch nicht... argh!
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
derDoc 
      
Beiträge: 623
Win Vista Prof
D2007 Prof
|
Verfasst: Di 18.02.03 15:51
Also erstmal danke an all die, die mir hier konstruktiv halfen.
Besonderen Dank an Popov, der mir endlich beibrachte, wie man Proceduren selbstschreibt. 
_________________ MfG derDoc
There are only 10 types of people: those who understand binary and those who don't.
|
|
Popov
Gast
Erhaltene Danke: 1
|
Verfasst: Di 18.02.03 20:40
|
|
ShadowCaster
      
Beiträge: 312
|
Verfasst: Fr 21.03.03 10:46
naja, der copyfile-befehl dürfte nicht sehr schnell sein. Ich hab es mit einem BlockRead und einem 2MB PChar-Buffer gemacht. Damit hab ich Dateien auf der Platte doppelt so schnell hin und her kopiert wie der Windows-Explorer (der die Windows-Api benutzt wie auch der copyfile-befehl vermutlich).
Wenn ich was falsches sage, korrigiert mich. Aber eine Exe ist ja nicht so groß und da kommt es ja sicher nicht auf Speed an, es sei denn man will einen Exe-Worm schreiben, der 2000 Kopien von sich auf der Platte in 2-3 Minuten erstellt. 
|
|