Es klappt (fast) mit deinem Code! Bis auf 2 Dinge die ich verändern musste, zum einen scheint es bei modh:=Create...(..., ProcessE.
th32ProcessID) heißen zu müssen [habe einfach die entsprechende
Unit durchgesehen] und ModuleE.szExe
Path, aber du hast mir riesig geholfen! Dankesehr, ich weiß das wirklich zu schätzen!
Delphi-Quellcode:
procedure TFrmAnsicht.GetProcessList(const aProcessList: TStrings);
var Snap: THandle;
ProcessE: TProcessEntry32;
modh: THandle;
ModuleE: TModuleEntry32;
begin
aProcessList.Clear;
Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
try
ProcessE.dwSize := SizeOf(ProcessE);
if Process32First(Snap, ProcessE) then
Repeat
begin
// hier beginnen die Änderungen
modh:=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, ProcessE.th32ProcessID);
if (modh <> 0) then
begin
if Module32First(modh, ModuleE) then Memo1.Lines.Add(ModuleE.szExePath);
CloseHandle(modh);
end;
// Änderungen Ende.
aProcessList.Add(ProcessE.szExeFile);
end;
Until not Process32Next(Snap, ProcessE)
else RaiseLastOSError;
finally
CloseHandle(Snap);
end;
end;
Viele Grüße, Palad