Delphi-PRAXiS
Seite 5 von 6   « Erste     345 6      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi .exe datei im Programm erstellen (https://www.delphipraxis.net/145631-exe-datei-im-programm-erstellen.html)

implementation 5. Jan 2010 17:36

Re: .exe datei im Programm erstellen
 
Zitat:

Zitat von -Phantom-
also
Delphi-Quellcode:
uses shellapi;


shellExecute(0,
        Nil,
        PChar('C:\freepascal\bin\i386-win32\ppc386.exe' ' C:\Programm.pas" -FuC:\Units' -FuC:\Units),
        Pchar('-Parameter'),
        Pchar('C:\StartDir'),
        SW_NORMAL);

Nicht ganz:
Delphi-Quellcode:
ShellExecute(0,Nil,'ppc386.exe', '"C:\Programm.pas" -FuC:\Units', 'C:\Freepascal\bin\i386-win32',SW_NORMAL);

-Phantom- 5. Jan 2010 17:57

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.

implementation 5. Jan 2010 18:04

Re: .exe datei im Programm erstellen
 
C:\Programm.exe müsste danach existieren.

Mithrandir 5. Jan 2010 18:07

Re: .exe datei im Programm erstellen
 
Es sei denn, du versuchst das Ganze auf C:\ unter Vista oder Win7. Dann nicht. ;)

-Phantom- 5. Jan 2010 18:11

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;

implementation 5. Jan 2010 18:12

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.

-Phantom- 5. Jan 2010 18:13

Re: .exe datei im Programm erstellen
 
Ja ich bin auch Admin...

implementation 5. Jan 2010 18:26

Re: .exe datei im Programm erstellen
 
Dann versuchs einfach mal mit anderen Pfaden (Desktop etc.)

sx2008 5. Jan 2010 18:48

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:
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;
Dieser String ist später in der Exedatei enthalten.
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!

-Phantom- 5. Jan 2010 19:04

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:
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.
So geht auch ohne fehler Meldung durch aber es wird keine programm.exe erstellt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.
Seite 5 von 6   « Erste     345 6      

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