![]() |
Re: .exe datei im Programm erstellen
Zitat:
Delphi-Quellcode:
ShellExecute(0,Nil,'ppc386.exe', '"C:\Programm.pas" -FuC:\Units', 'C:\Freepascal\bin\i386-win32',SW_NORMAL);
|
Re: .exe datei im Programm erstellen
Ja nun haben wir den Compiler aufgerufen? oder nicht? ja und wo ist die .exe die entstehen soll? es geht so weit alles also wenn ich das ausführe kommt für kurze zeit so ein "CMD Fenster" aber dann passiert nichts.
|
Re: .exe datei im Programm erstellen
C:\Programm.exe müsste danach existieren.
|
Re: .exe datei im Programm erstellen
Es sei denn, du versuchst das Ganze auf C:\ unter Vista oder Win7. Dann nicht. ;)
|
Re: .exe datei im Programm erstellen
Ja habe Vista , aber ich erstelle das nicht Direkt auf C:\ sondern im einem Ordner
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin ShellExecute(0,Nil,'ppc386.exe', '"C:\Users\mathias\delphi programme\exe\programm.pas" -FuC:\Units', 'C:\Freepascal\bin\i386-win32',SW_NORMAL); end; |
Re: .exe datei im Programm erstellen
Ich benutze auch Win7 und bei mir läuft's zumindest als Admin. Als eingeschränkter Nutzer weiß ich nicht.
|
Re: .exe datei im Programm erstellen
Ja ich bin auch Admin...
|
Re: .exe datei im Programm erstellen
Dann versuchs einfach mal mit anderen Pfaden (Desktop etc.)
|
Re: .exe datei im Programm erstellen
Liste der Anhänge anzeigen (Anzahl: 1)
Es ist möglich, dass ein Programm eine Kopie von sich selbst gezielt verändert.
Es ist zwar nicht empfehlenswert (Virenscanner schlagen Alarm,...) aber immerhin möglich. Dazu benötigt man in den Daten ein "magisches Wort". Beispiel:
Delphi-Quellcode:
Dieser String ist später in der Exedatei enthalten.
var
globalConfigData:Ansistring = '@magicword@'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0; Die Reihe von #0 dient als Platzhalter für die Konfigdaten. Ein Programm lädt seine eigene Exe als String in den Speicher, verändert die Daten nach dem Magischen Wort und schreibt diese Daten unter einem neuen Dateinamen auf die Platte. Demo im Anhang! |
Re: .exe datei im Programm erstellen
Ich denke ich mache was Grundlegendes verkehrt.
So gehe ich vor: Ich erstelle ein neues Formular so mache damit erst mal gar nichts speichere es auf dem Destop als Programm.pas und und Project speichere ich gar nicht ab ( Muss ich das )? So nun ist auf dem Destop die Programm.pas soweit so gut . Ich Starte wieder Delphi und lege eine neue Unit an auf der form ist ein Button der soll das machen :
Delphi-Quellcode:
So geht auch ohne fehler Meldung durch aber es wird keine programm.exe erstellt.
procedure TForm1.Button1Click(Sender: TObject);
begin ShellExecute(0,Nil,'ppc386.exe', '"C:\Users\mathias\Desktop\programm.pas" -FuC:\Units', 'C:\FPC\2.4.0\bin\i386-win32',SW_NORMAL); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr. |
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 by Thomas Breitkreuz