für Prozesse:
Delphi-Quellcode:
...
uses Tlhelp32
procedure Snapper;
begin
var SNAP : Thandle;
PROCS : TprocessEntry32;
begin
SNAP := CreateToolhelp32Snapshot(TH32CS_SNAPall, 0);
PROCS.dwSize := sizeof(TProcessEntry32);
if Process32First(SNAP, PROCS) then begin
while Process32Next(snap, PROCS) do
BEGIN
//hier kann man jetzt noch alle Module des Prozesses auslesen lassen etc...
...
end;
//Ausgabe jedes einzelnen Prozesses mit zugehörigem ParentProcess z.b. in ne Memo
memo1.lines.add('ProcessName:'+PROCS.szExeFile);
memo1.lines.add('PID:'+IntTostr(PROCS.th32ProcessID)));
memo1.lines.add('PPID:'+IntToStr(PROCS.th32ParentProcessID)));
(*ParentProcessID ist logischerweise die ProcessID seines Parents.*)
end;
CloseHandle(snap);
end;
Mit Threads gehts es Simultan.
watch out ... SySSnapper... coming soon