![]() |
Kommandozeilenbefehle & more
Hallo,
da alle Möglichkeiten die Ausgabe einer DOS Box in mein Programm umzuleiten bisher nicht so geklappt haben wie ich das gerne gehabt hätte, hab ich mir jetzt folgendes überlegt WinExec(bla.exe -bla -bla > D:\bla.txt... Den ganz normalen Redirekt um das Ganze in eine Datei zu klatschen. Das Problem ist allerdings, dass der Teil ab > ignoriert wird. Hat jemand eine Idee wie man das hinbekommt. Ich weiß, dass es Funktionen gibt, um die Ausgabe beispielsweise in ein Memo umzuleiten, das geht aber leider bei den Anwendungen die ich aufrufe immer schief, deshalb hab ich die Dateivariante gewählt. Hoffe ihr könnt mir helfen |
Re: Kommandozeilenbefehle & more
Moin Burns,
also WinExec solltest Du schon einmal nicht benutzen. Diese existiert nur noch aus Gründen Kompatiblität mit 16 Bit Windows. Wenn Du ein Konsolenprogramm starten willst, dann z.B. so:
Code:
Rot ist das, was Du zum Starten brauchst, blau das, was Du ausführen willst.
ShellExecute(0,'open','[color=red][b]cmd.exe[/b][/color]','[color=red][b]/c [/b][/color][color=blue][b]bla.exe -bla1 -bla2 > c:\bla.txt[/b][/color]',nil,SW_NORMAL);
|
Re: Kommandozeilenbefehle & more
Vielen Dank für die Hilfe
|
Re: Kommandozeilenbefehle & more
Du kannst die Ein- und Ausgabe über Pipes umleiten.
Ich hatte das Problem mal so gelöst bekommen, ist aber schon länger her. In der MSDN mal nach Pipe-Funktions oder dierct nach den Befehlen
Code:
,
CreatePipe
Code:
suchen.
CreateNamedPipe
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 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-2025 by Thomas Breitkreuz