Morgen. ich hab ein kleines Script problem.
Ich möchte ein Programm das lediglich über dosbox läuft per script steuern.
Also das programm soll aufgerufen werden, ablaufen in der zwischenzeit das script anhalten und nach beendigung das script weiterlaufen.
bislang lief das auch eigentlich ganz easy (bei tools wie winzip)
Mein Problem ist das nun nach Programm welches ich steuern will sich nicht selbst beendet.
Es kommt zum Beenden die Eingabeaufhodrungen in der Dosbox. "Hit any key to continue..."
Erst wenn ich also extern nen key drücke (per writeline) ist die Anwedung beendet, also mein script wartet solange.
Jetzt hab ich das Problem das ganze zu händeln.
Meine erste Idee war ich lese alle zeilen aus der dosbox und warte bis "hit any key" kommt und mach dann nen terminate.
so etwa:
set oExec = WshShell.Exec(**** )
Do Until objExecObject.StdOut.AtEndOfStream
strLine = objExecObject.StdOut.ReadLine()
if strLine = "Hit usw..." then oExec.Terminate()
Loop
Jetzt ist es aber so das in dem AusgabeStream nicht! diese letzte Zeile vorkommt.
Keine Ahnung wieso, aber auch wenn ich mir alle zeilen ausgeben lasse kommt diese letzte nicht vor. Trigger ich auf die Vorletzte Ausgabezeile läuft das ganze.
ICh will aber nicht auf die vorlezte Zeile triggern da diese je nach dem sich ändern kann.
Hat jemand eine kurze Idee wie ich an diese Zeile komme? oder was an dieser so besonderes ist.
Grüße.
|