Entwickler-Ecke

Windows API - Ein- / Ausgabe einer DOS Anwendung umleiten


Faber_mundi - Di 04.12.07 21:18
Titel: Ein- / Ausgabe einer DOS Anwendung umleiten
Hallo,
also ich brauche ein Programm, welches die Eingabe meines Delphiprogrammes in ein Programm in einem Dosfenster umleiten, und eben die Ausgabe an das Delphiprogramm zurückgibt.
Die Eingabe funktioniert auch, die hab' ich folgendermassen gemacht:

Mit FindWindow ein Handle auf das DOS-Fenster erstellt, dessen Titelzeile im Eingabefeld edit2 steht

Delphi-Quelltext
1:
W := FindWindow(NIL, PChar(edit2.text));                    


Und nun einen Befehl an das DOS-Fenster zu schicken benutze ich den PostMessage Befehl

Delphi-Quelltext
1:
2:
3:
4:
     text := upperCase(text);
     for i := 1 to length(text) do
          PostMessage(W, wm_KeyDown, VKKeyScan(text[i]), 0);
     PostMessage(W, wm_KeyDown, VK_Return, 0);


Oki, so weit so gut, jetzt brauch ich allerdings die Ausgabe des DOS-Fensters...
Anhand einer Ausgabeumleitung in eine Datei (>) geht es leider nicht, da die Ausgabe während des Ablaufs geändert wird und ich nicht mit Delphi auf die Datei zugreifen kann, solange mein DOS-Programm noch läuft.

Hoffe auf baldige Antwort(en)


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Di 04.12.2007 um 20:39
Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Narses - Di 04.12.07 22:24
Titel: Re: Ein- / Ausgabe einer DOS Anwendung umleiten
Moin und :welcome: im Forum!

user profile iconFaber_mundi hat folgendes geschrieben:
Anhand einer Ausgabeumleitung in eine Datei (>) geht es leider nicht, da die Ausgabe während des Ablaufs geändert wird und ich nicht mit Delphi auf die Datei zugreifen kann, solange mein DOS-Programm noch läuft.
Mal zum Verständnis: es handelt sich also nicht um ein Problem, dass analog z.B. hierzu ist:

Quelltext
1:
ipconfig /all                    

(also die Ausgabe einer Kommandozeilenanwendung zu streamen), korrekt?

Dein "DOS-Programm" hat also eine Art "Oberfläche", keinen Charakter-Output-Stream, ja? :?

Wenn dem so ist, dann wird das sehr schwer... (sorry, eine Lösung habe ich leider auch nicht). :nixweiss:

cu
Narses