.bat soll ausgeführt werden, aber tuts nicht...

DrEvil

Erfahrenes Mitglied
Hallo liebe Gemeinde!

Ich möchte mir ein Programm schreiben, mit dem ich nacheinander einige Programme ausführen kann (im konkreten möchte ich 2 .bats und den IE starten).
Mein Problem is nur, dass sich mit dem winexec befehl die bat-Dateien nur kurz öffnen, soll heißen man sieht kurz, dass da eine bat ausgeführt wird, aber das schwarze Fensterchen schließt sich sofort wieder... (Das sollte es zur einwandfreien Funktion aber nicht...)

Ich hab das Ganze auch schon mal mit ShellExecute probiert, gleiches Ergebnis...

Im Moment benutze ich den Code:
Code:
shellexecute(form1.Handle, 'open', PChar('Pfadname'), nil, nil, sw_show);

was mach ich nu falsch?
 
WinExec ist zuerst einmal veraltet und sollte sowieso nicht mehr benutzt werden.

Dass sich die DOS-Fenster mit den Batch-Dateien sofort wieder schließen, liegt nicht an Delphi, sondern an den Kommandos in den Batch-Dateien selbst. Nach der Abarbeitung der Anweisungen daraus schließt sich die DOS-Box wieder. Verhindern kannst Du das, indem Du eine entsprechende Anweisung am Ende aufrufst. Pause war es glaub ich, aber wahrscheinlich liege ich damit falsch.
 
Zurück