Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi CLI-Programm aufrufen und dessen Ausgabe zurückgeben lassen? (https://www.delphipraxis.net/88969-cli-programm-aufrufen-und-dessen-ausgabe-zurueckgeben-lassen.html)

Samuel Creshal 23. Mär 2007 18:29


CLI-Programm aufrufen und dessen Ausgabe zurückgeben lassen?
 
Siehe Titel – Ich hatte vor, eine GUI für ein Kommandozeilentool zu schreiben, dafür muss ich aber die Konsolenausgabe irgendwo zurückbekommen. :gruebel:

ShellExecute gibt ja leider nichts brauchbares von sich aus zurück, Pipes kann man damit leider auch nicht benutzen. :pale:

So hab' ich's bisher getestet, erfolglos:
Delphi-Quellcode:
ShellExecute(Form2.Handle, nil, 'D:\cnt\cnt.exe', PChar('-a -s C:\*.* >out.txt') , 'D:\cnt', SW_SHOWNORMAL);

mkinzler 23. Mär 2007 18:43

Re: CLI-Programm aufrufen und dessen Ausgabe zurückgeben las
 
Delphi-Quellcode:
ShellExecute(Form2.Handle, nil, 'cmd.exe', 'D:\cnt\cnt.exe -a -s C:\*.* >out.txt') , 'D:\cnt', SW_HIDE);

Samuel Creshal 23. Mär 2007 19:22

Re: CLI-Programm aufrufen und dessen Ausgabe zurückgeben las
 
Erzeugt leider auch keine out.txt – Kann man cmd überhaupt Parameter übergeben? :|
Der Aufruf der cnt.exe selber funktioniert aber, wenn man es "von Hand" in die Konsole tippt, liegt also nicht an den Params...

Delphi-Quellcode:
ShellExecute(Form2.Handle, nil, 'cmd.exe', PChar('D:\cnt\cnt.exe -a -s C:\*.* >D:\cnt\out.txt') , 'D:\cnt', SW_HIDE);

mkinzler 23. Mär 2007 19:33

Re: CLI-Programm aufrufen und dessen Ausgabe zurückgeben las
 
Zitat:

Erzeugt leider auch keine out.txt – Kann man cmd überhaupt Parameter übergeben? Neutral
Ja.
Versuch mal
Delphi-Quellcode:
ShellExecute(Form2.Handle, nil, 'cmd.exe "D:\cnt\cnt.exe -a -s C:\*.* >out.txt"' , '', SW_HIDE);

Samuel Creshal 23. Mär 2007 19:38

Re: CLI-Programm aufrufen und dessen Ausgabe zurückgeben las
 
Ebenso wenig Reaktion.

mkinzler 23. Mär 2007 19:40

Re: CLI-Programm aufrufen und dessen Ausgabe zurückgeben las
 
Bist du sicher das er die Datei nicht erzeugt und nicht wo anders? (Du gibst ja keinen Pfad vor).

Samuel Creshal 23. Mär 2007 19:45

Re: CLI-Programm aufrufen und dessen Ausgabe zurückgeben las
 
Ich habs mal mit nem festen Pfad versucht, auch nichts.

uligerhardt 23. Mär 2007 23:44

Re: CLI-Programm aufrufen und dessen Ausgabe zurückgeben las
 
Probier mal "cmd /K" oder "cmd /C". Mehr dazu, wenn du in einer DOS-Box "cmd /?" eingibst.

HTH, Uli.

Samuel Creshal 24. Mär 2007 15:25

Re: CLI-Programm aufrufen und dessen Ausgabe zurückgeben las
 
Damit geht's. Danke für die Hilfe. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 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