Liest vom STDOUT-Stream eines zuvor gestarteten Child-Prozesses ein
StdoutRead ( process_id[, peek = false[, binary = false]] )
Parameter
| process_id | Die Prozess-ID eines Child-Prozesses, wie bei einem vorigen Aufruf von Run zurückgegeben |
| peek | [optional] Wenn True, entfernt die Funktion die eingelesenen Zeichen nicht aus dem Stream |
| binary | [optional] Wenn True, liest die Funktion die Daten als binär anstatt als Text (Standard ist Text) |
Rückgabewert
| Erfolg: | Gibt die gelesenen Daten zurück. @extended enthält die Anzahl der gelesenen Bytes. |
| Fehler: | Setzt @error ungleich Null, wenn EOF erreicht ist, STDOUT nicht an diesen Prozess weitergeleitet wurde oder ein anderer Fehler aufgetreten ist. |
Bemerkungen
StdoutRead liest aus dem Konsolen-Standard-Ausgabe-Stream eines Child-Prozesses, der normalerweise von Konsolen-Applikationen genutzt wird, um Text auf dem Bildschirm auszugeben. Während des Aufrufs von Run für den Child-Prozess, aus dem man lesen möchte, muss der STD-I/O-Parameter den Wert $STDOUT_CHILD (2) enthalten, damit diese Funktion richtig arbeitet (siehe die Run-Funktion).
Verwandte Funktionen
StderrRead, StdinWrite, StdioClose, Run, RunAs
Beispiel
; Demonstriert StdoutRead()
#include <Constants.au3>
Local $foo = Run(@ComSpec & " /c dir foo.bar", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $line
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
MsgBox(0, "STDOUT gelesen:", $line)
WEnd
While 1
$line = StderrRead($foo)
If @error Then ExitLoop
MsgBox(0, "STDERR gelesen:", $line)
WEnd
MsgBox(0, "Debug", "Wie aufregend...")