Programm-Output abfangen
-
Hallo C++ Freunde,
Ich möchte von einem Windows-Programm aus ein Kommandozeilen-Programm aufrufen. Das geht über "ShellExecuteEx". Wie aber fange ich das Ergebnis dieses Programmes ab, das dieses über stdout normalerweise auf den Dos-Bildschirm ausgibt?Günter.
-
Hallo,
Leite die Ausgabe in eine Datei um und lese die dann aus.
-
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
-
Hallo Freunde,
danke für die wertvollen Hinweise.
Das Verfahren mit der Umleitung in eine Datei kannte ich.
Das mit den "Pipes" kannte ich nicht. Das ist wohl genau das, was ich gesucht hatte.Vielen Dank.
Günter.
-
Hallo Freunde,
nun muss ich doch noch etwas Nachhilfeunterricht nehmen.
Das Kommandozeilen-Tool,welches ich verwenden will, heisst suexg.exe und
kann mit oder ohne Parameter aufgerufen werden. Für einen ersten Test
habe ich es in "DemoConsole.exe" umbenannt und mit "Demo.exe"(aus
RTconsole) probiert. Wenn ich auf den Button "Spawn process" klicke,
wird ausser der Meldung "Child started.." nichts ausgegeben.
Wenn ich "Spawn using RTconsole" klicke, so erscheint die Meldung
"...\DEMOCONSOLE.EXE nicht ausführbar".
Wahrscheinlich liegt das daran, dass es sich um ein Dos-Programm handelt
und nur acht Zeichen Dateiname zugelassen sind. Kann man mit einem Hex-Editor feststellen, ob es sich tatsächlich um ein Dos-Programm handelt?
Ich habe nun ein eigenes Testprogramm geschrieben(Borland C++ Builder)
und die notwendige Funktion aus "DemoDlg.cpp" kopiert. Der Aufruf(hier
mit Parametern)funktioniert:
hProcess = SpawnAndRedirect("\"RTconsole.exe\" \"suexg.exe \"1 2\"\"",
&hOutput, NULL);
Nun möchte ich als Parameter den Inhalt von int-Variablen übergeben. Wie erzeuge ich einen entsprechenden LPTSTR-String? Gibt es eine
Dokumentation(vielleicht sogar ein .hlp-File) über die Anwedung der
Typen und Methoden von tchar.h?
Letzlich will ich natürlich "RTconsole.exe" eliminieren. Vielleicht kann
mir jemand dazu einen Tip geben.
Im Voraus vielen Dank.Günter.