Also nach vielem Herumprobieren kann ich nun die Prolog Anwendung zwar nicht im selben Konsolenfenster starten wie mein eigenes Delphi Programm, ist aber nicht unbedingt zwingend erforderlich. Das Problem ist, ich kann den output vom Prolog-Fenster nicht "lesen". GetConsoleOutput funktioniert in diesem Falle nicht.
Delphi-Quellcode:
begin
allocConsole;
try
if paramcount=0
then
begin
s:=ExtractFilePath(Application.Exename)+'
ext_proc.exe';
s2:='
w(wind,feature,W).';
ShellExecute(0, '
open', PChar('
ext_proc.exe'),
nil,
nil, SW_SHOW);
//ExecAndWait('ext_proc.exe','', SW_NORMAL);
//HANDLE holen
sleep(1000);
clientHandle:=FindAWindow(s, '
');
if clientHandle=0
then
begin
writeln('
Keine handle gefunden !');
readln;
end
else
BringWindowToTop(clientHandle);
For I:=1
To Length(s2)
Do
SendMessage(clientHandle, WM_CHAR, Ord(s2[I]), 0);
SendMessage(clientHandle, WM_CHAR, VK_RETURN, 0);
writeln('
Ich habe fertig, Taste druecken!');
readln;
Wie kann man denn den output eines externen consolenprogramms als Stringlist/String einlesen?