PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : output eines fremden Programms (CreateProcess)


phrozenworld
25.08.2004, 15:56
Hi,
ich stehe vor folgender Unklarheit:
In meinem Programm wird ein fremdes Konsolenprogramm gestartet, dessen Ausgabe abgefangen und dann in eine Datei geschrieben werden soll. "Normalerweise" muss man da ja mit CreatePipe usw. arbeiten und den Handles hStdOutput/hStdError aus STARTUPINFO das write handle der Pipe zuweisen, ABER:
Bei mir habe ich einfach mal probiert hStdOutput/hStdError gleich einem Handle auf eine Datei zu setzen (mit CreateFile) und siehe da: klappt auch genauso wie beabsichtigt.
Jetzt meine Frage:
Ist das auf allen Windows-Systemen reproduzierbar oder bin ich da ein Einzelfall (W2k SP4, Visual C++ 6)???


Patrik Graf
25.08.2004, 18:24
Hmmm... gute Frage. Aber da du es mit CreateFile gemacht hast denke ich schon das es auf allen Windows-Systemen funktionieren wird... ist ja auf allen verfügbar. Es sei denn du hast Flags verwendet die laut MSDN nur unter bestimmten Windows-Versionen verfügbar sind.

phrozenworld
25.08.2004, 20:24
Erstmal danke für die Antwort.
Die Flags sind soweit alle in Ordnung.
wär interessant zu wissen, ob es dann auch wirklich überall funktioniert.
gruß
phrozenworld