shell ausgabe abfangen
-
hi,
hab da ein problem. also ich muss die ausgabe einer shell abfangen und das
dann ausgeben. also als beispiel nur die ordner mit "dir" anzeigen. möglich
wär dies zum beispiel mit wxexecute(). nur leider nicht in meinem fall. den ich
muss die ausgabe eines aufgerufenen programms in echtzeit ausgeben. kennt
da jemand ne möglichkeit?mfg
vik
-
hat niemand eine idee?

-
Hallo,
mit Standard-Mitteln allein geht das nur über den Umweg über eine Datei. Eleganter wäre der Einsatz von Pipes. Welches BS verwendest du?
-
ich benutze windows xp. aber mich würde es interessieren wie es generell auf
allen bs geht. und ob es eine plettformunabhängige lösung gibt.der umweg über eine datei ist aber synchron. und ich muss es asynchron machen.
also sozusagen in echtzeit. deswegen fällt für mich der umweg über eine datei
raus. oder täusch ich mich jetzt irgendwo?
-
Plattformübergreifend kannst du es nicht machen (außer du schreibst eine Wrapperfunktion, die diese Unterschiede kapselt). Unter Windows kannst du z.B. CreateProcess verwenden und dort neue Output-Handles mitgeben (vorher per CreatePipe() anlegen), auf Linux-Systemen gibt es popen() für diesen Zweck.
-
soweit ich weiß ist createprocess visual c++. ich benutze aber mingw.
gibts da ne andere lösung? oder wie würdet ihr es machen?
-
CreateProcess ist WinAPI und kann somit auch bei MinGW verwendet werden sofern die passenden Header eingeschlossen sind.
-
ich kenn mich mit windows-programmierung nicht aus. also wo krieg ich diese
winapi oder die header her? kann man sie normal legal downloaden?
-
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.
-