Function FindModule(Module: string):TProcess;
var ML,PL: Integer;
Proc: TProcess;
Mods: TModules;
begin
try
Proc := ListProcess;
for PL := low(proc) to high(proc) do
if (Proc[PL].szExeFile <> 'System') and (Proc[PL].szExeFile <> '[System Process]') then begin
Mods := ListModules(Proc[PL].th32ProcessID);
for ML := low(MODS) to high(MODS) do
if pos(Module, lowercase(MODS[ML].szModule))>0 then begin
Setlength(result, length(result)+1);
result[high(result)] := PROC[PL];
break;
end;
end;
Except
Exit;
end;
end;