Hi,
mal das Standardproblem, nur andersrum:
Kurz gesagt möchte ich folgendes automatisieren:
Kommandozeile
1:
| programm.exe -option < input.txt |
(und natürlich trotzdem die Ausgabe abfangen)
Dabei will ich nicht mehr den Umweg über eine Datei gehen, sondern direkt das Programm auf stdin mit den Daten versorgen.
Aus dem üblichen GetConsolepOutput sowas zu bauen ist auch klar, nur: wie macht man dem Pipe begreiflich dass da jetzt EOF ist? Das Programm wartet da nämlich drauf um sich zu terminieren. Einfach nur die Write-Seite der Pipe schließen hilft nicht...
Andere Programme wiederum mögen das gar nicht, und stürzen ab/beenden sich sofort.
Was genau macht CMD da?
Hat da jemand funktionierenden Code?
Ich kann ggf. den bisherigen noch posten, der ist aber wenig interessant, und da ich nebenbei selber noch experimentiere, auch sehr im Fluss.
EDIT: hab ihn schon auf einen Heisenbug runtergehandelt, der ab und zu mal die Pipe zu früh schließt. Dabei war
das hier recht hilfreich...
Danke,
Martok
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."