Thema: Delphi Prozesspfad herausfinden

Einzelnen Beitrag anzeigen

Palad

Registriert seit: 6. Feb 2007
Ort: Berlin
4 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Prozesspfad herausfinden

  Alt 27. Jul 2007, 21:25
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.szExePath, 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
  Mit Zitat antworten Zitat