Einzelnen Beitrag anzeigen

shebang

Registriert seit: 7. Feb 2020
101 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: ShellExecuteEx + TerminateProcess

  Alt 22. Apr 2021, 14:31
Bist du sicher, dass beispielsweise der Umweg über Dateien auf der Festplatte notwendig ist? Das tolle an Konsolenanwendungen ist eigentlich dass du die direkt aus deiner Delphi-Anwendung über Pipes (StdIn, StdOut, StdErr) auslesen und füttern kannst wie der Mensch der das schwarze Konsolenfenster mit der Tastatur bedient.
Die Daten, die in die Datei geschrieben werden sollen, benötige ich innerhalb meiner Delphi-Anwendung gar nicht. Die sind für eine spätere externe Auswertung vorgesehen. Ich möchte im Prinzip nur ein Konsolenprogramm starten und zu einem späteren Zeitpunkt wieder stoppen können. Die Konsole wird später gar nicht erst angezeigt, sondern soll unsichtbar im Hintergrund laufen.

Ich habe auch schon versucht ein Ctrl+C an die Konsole zu schicken aber das hat auch nicht den gewünschten Effekt gebracht:
Delphi-Quellcode:
PostMessage(ShExecInfo.hProcess, WM_KEYDOWN, VK_CONTROL, 0);
PostMessage(ShExecInfo.hProcess, WM_KEYDOWN, VkKeyScan('c'), 0);
PostMessage(ShExecInfo.hProcess, WM_KEYUP, VkKeyScan('c'), 0);
PostMessage(ShExecInfo.hProcess, WM_KEYUP, VK_CONTROL, 0);
  Mit Zitat antworten Zitat