Hola,
para saber las tareas que hay en ejecución, puedes usar el componente
RunningProcs, que aunque sea algo antiguo (Delhpi3) funciona (al menos) en Delphi 6.
El componente tiene una variable pública llamada
ProcessList, definida como :
ProcessList: array [1..100] of TProcessEntry32;
en ese array carga los procesos en ejecución, y tiene dos eventos:
OnCreatedProcess (TNotifyEvent):
Se dispara cuando se detecta al menos un nuevo proceso.
TRunningProcs debe estar activado.
OnTerminatedProcess (TNotifyEvent):
Se dispara cuando se termina al menos un proceso.
TRunningProcs debe estar activado.
También puedes usar las funciones que indican
aqui y
aqui para saber si hay algun proceso en ejecución en base a su nombre.
Un saludo.