Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как получить список процессов?

01.01.2007
function IsRunning( sName : string ) : boolean; 
var
  han
: THandle;
 
ProcStruct : PROCESSENTRY32; // from "tlhelp32" in uses clause
  sID
: string;
begin
 
Result := false;
 
// Get a snapshot of the system
  han
:= CreateToolhelp32Snapshot( TH32CS_SNAPALL, 0 );
 
if han = 0 then
   
exit;
 
// Loop thru the processes until we find it or hit the end
 
ProcStruct.dwSize := sizeof( PROCESSENTRY32 );
 
if Process32First( han, ProcStruct ) then
   
begin
      repeat
        sID
:= ExtractFileName( ProcStruct.szExeFile );
       
// Check only against the portion of the name supplied, ignoring case
       
if uppercase( copy( sId, 1, length( sName ) ) ) = uppercase( sName ) then
         
begin
           
// Report we found it
           
Result := true;
           
Break;
         
end;
     
until not Process32Next( han, ProcStruct );
   
end;
 
// clean-up
 
CloseHandle( han );
end;

Взято из https://forum.sources.ru