Wie zum senden von Eingaben an die Konsole, wenn der Benutzer Text eingibt?
Dies ist mein problem. Ich habe ein Programm, dass hat zu laufen, in eine TTY -, cygwin bietet das TTY. Wenn ich umleiten von stdIn das Programm nicht, weil Sie nicht über eine TTY-Schnittstelle. Ich kann nicht ändern, dieses Programm, und Sie benötigen einige Möglichkeit der Automatisierung.
Wie kann ich schnappe mir den cmd.exe Fenster und senden Sie Daten und machen Sie es sich denken, der Benutzer ist die Eingabe es?
Ich bin mit C#, ich glaube, es gibt einen Weg, es zu tun mit java.das awt.Roboter, aber ich habe, C# zu verwenden für andere Gründe.
- siehe auch die andere Frage zu diesem: stackoverflow.com/questions/450741/...
- das war meine andere Frage, die ich beschlossen, zu versuchen einen anderen Weg, daher ist eine andere Frage
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das klingt wie eine Aufgabe für
SendKeys()
. Es ist nicht C#, aber VBScript, aber trotzdem - Sie fragte, für einige automatisieren Sie:Ich habe herausgefunden, wie zum senden der Eingaben auf der Konsole. Ich nutzte das, was Jon Skeet sagte. Ich bin mir nicht 100% sicher, dass dies der richtige Weg, um dies zu implementieren.
Ob es irgendwelche Kommentare zu das besser zu machen ich würde gerne hier. Ich Tat dies nur, um zu sehen, wenn ich könnte es herausfinden.
Hier ist das Programm, das ich starrte, das wartete, für Eingabe-Formular der Benutzer
Dies ist die console-app schreiben, um die anderen
Können Sie das Programm starten (oder cygwin) in Ihrem code verwenden
ProcessStartInfo.RedirectStandardInput
(und Ausgang/Fehler) zu Steuern, die Daten fließen?Ich hatte ähnliches problem vor einiger Zeit, cygwin schreiben sollte einige nützliche Informationen (genaue cygwin-Funktion, Fehler-text und WINAPI Fehlercode) Fehler stream, sollten Sie es umleiten irgendwo und Lesen, was er schreibt.