Einzelnen Beitrag anzeigen

Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Shellexecute im selben (Konsolen)Fenster

  Alt 30. Apr 2010, 11:41
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?
  Mit Zitat antworten Zitat