Text aus der Konsole auslesen (system())
-
Hallo.
Ich habe ein Problem, denn ich möchte den Textbildschirm der
Konsole auslesen und in eine Datei speichern.Die Konsole öffnet sich mit der Funktion system(CHAR*)
-
Hallo,
ich denke mal du meinst mit "Konsole" die CMD. Wenn so, dann such mal nach dem Begriff *Pipe*! Das dürfte die weiterhelfen. Als Ausgabemedium musst du dir dann eine passende Komponente schreiben/downloaden/auswählen (TMemo sollte fürs Erste reichen)mfg cb
/EDIT: Als Datei abspeichern sollte dann ja gar kein Problem mehr darstellen!
-
Danke! Wusste nicht, dass es eine solche "pipe" gibt
Hab jetz das BSP aus http://www.c-plusplus.net/forum/viewtopic-var-t-is-139302-and-highlight-is-*pipe*.html versucht einzubauen, aber mein Progg stürzt bei
ReadFile(hReadPipe,&Buffer,sizeof(Buffer), &dwRead, NULL);ab.
Was soll ich machen?
-
Also du musst uns schon eine Fehlerbeschreibung (Fehlermeldung etc.) liefern. "Mein Programm stürzt ab!" reicht für Hilfe nicht aus.
Und zu der Pipe aus dem Beitrag kann ich definitiv sagen, dass Sie einwandfrei funktioniert. Allerdings ist sie ohne Fehlerbehandlung.mfg cb
/EDIT: Oder wenn es keine Fehlermeldung gibt, dann sag mir doch mal bitte welchen Befehl du ausführst!
-
Eine Fehlermeldung gibt es nicht. Die Anwendung bleibt einfach hängen,
wird nichtmehr neu gezeichnet, und reagiert nicht mehr.Der Befehl "cmd /c dir" funktioniert auch, aber das war ja nicht meine
Absicht. Ich wollte keine DOS-Funktionen aufrufen, sondern Programme.Wenn ich aber "C:\MeinProgg.exe" eingebe, reagiert mein Programm nicht mehr.
(C:\MeinProgg schreibt ein "Es funzt" auf den Monitor)
-
*push*
-
Dann ist eine Pipe eigentlich das Falsche. Ist da nicht eher "CreateProcess" oder "ShellExecute" besser?
//EDIT
Sehe dass du die Ausgabe speichern willst. Das kannst du mit der Pipe vergessen. Wenn das Programm eine Eingabe benötigt dann schmiert dir dein Programm gnadenlos ab.