Vérifier si un process est actif (à partir de son PID)

Contenu du snippet

uses tlhelp32;
function IsProcessActive(const PID: Longword): Boolean;
Var
 hSnap: Longword;
 tProcess: PROCESSENTRY32;
begin
 Result := False;
 if PID <> 0 then
  begin
   hSnap := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
   if hSnap <> 0 then
    begin
     tProcess.dwSize := SizeOf(PROCESSENTRY32);
     if Process32First(hSnap, tProcess) then
      repeat
       Result := (tProcess.th32ProcessID = PID);
       if Result then Break;
      until not Process32Next(hSnap, tProcess);
     CloseHandle(hSnap);
    end;
  end;
end;

Compatibilité : Delphi 5

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.