ich habe Lazarus 4.2 mit FPC 3.2.2 unter Windows 11.
Ich habe ein Lazarusprogramm (oldies.exe) geschrieben, das ein anderes Lazarusprogramm
(musicplayer.exe) mit TProcess startet.
Soweit klappt auch alles..
In dem Programm musicplayer.exe rufe ich das Programm mplayer.exe über die
Komponente MPlayerControl1 auf, das in einen eigenen Task startet.
Code: Alles auswählen
MPlayerControl1.MPlayerPath:='C:\Program Files (x86)\MPlayer for Windows\mplayer.exe';
MPlayerControl1.Filename:=h1;
MPLayerControl1.Volume:=100;
MPlayerControl1.Play;
Code: Alles auswählen
AProcess:=TProcess.Create(nil);
AProcess.Executable:='D:\Mediathek\Oldies\musicplayer\musicplayer.exe';
AProcess.Parameters.Add(h1);
AProcess.Options:=[poUsePipes];
AProcess.Execute;
runprog:=True;
Timer1.Enabled:=True;
procedure TForm2.Timer1Timer(Sender: TObject);
begin
if not AProcess.Running then
begin
AProcess.Free;
Timer1.Enabled:=False;
runprog:=False;
end;
end;
Ich möchte, während ein Song abgespielt wird (im mplayer.exe) den Process musicplayer.exe
und die Task mplayer.exe stoppen.
Das mache ich mit AProcess.Terminate(0);
Der Process musicplayer.exe verschwindet auch aus dem Taskmanger.
Aber der Process mplayer.exe läuft weiter.
Wie kriege ich den Process mplayer.exe gestoppt?
Danke und Gruß
Jürgen