Entwickler-Ecke

Windows API - Consolenprogramm in TPanel einfangen


gbl - So 21.06.09 13:28
Titel: Consolenprogramm in TPanel einfangen
Hallo,

Ich starte mit CreateProcess eine Consolen Anwendung und setzte per


Delphi-Quelltext
1:
2:
3:
4:
5:
Windows.SetParent(ConsoleApp.hnewProcess, Panel1.Handle);
SetActiveWindow(ConsoleApp.hnewProcess);
SetForegroundWindow(ConsoleApp.hnewProcess);
BringWindowToTop(ConsoleApp.hnewProcess);
Windows.ShowWindow(ConsoleApp.hnewProcess, SW_MAXIMIZE);


das Handle damit die Console im Panel eingefangen wird.
Das funktioniert soweit auch.
Starte ich zum Testen die Shell (cmd.exe) kann ich auch im eingefangenen Dosfenster schreiben.
Starte ich hingegen putty.exe, so wird die Tastatur - behaupte ich jetzt - ignoriert.

Wo liegt nun mein Fehler?


lg
Günter


jaenicke - Di 23.06.09 12:28

Hallo und :welcome: im Forum!

Wie wäre es eher mit TDosCommand? Damit können die Ausgaben z.B. in ein Memo geschrieben und Befehle zurückgeschickt werden.