Thema: Delphi Prozesspfad herausfinden

Einzelnen Beitrag anzeigen

Palad

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

Prozesspfad herausfinden

  Alt 27. Jul 2007, 19:29
Hallo liebe DPler,

ich habe eine Frage wegen einer meiner Programme, die ihr mir hoffentlich beantworten könnt. Vorneweg, ich bin mit der Windows-API ziemlich ungeschickt, oder treffender: Ich habe keine Ahnung davon. Nun zum Problem.

Ich würde gerne eine Art Protokollprogramm erstellen, das alle, beipspielsweise, 5 Minuten die laufenden Prozesse ermittelt, die entsprechende Liste filtert (bekannt/unbekannt) und am Ende alles schön säuberlich in eine .log-Datei wirft. Soweit kein Problem, aber ich möchte für die nicht bekannten Prozesse noch Programmpfad herausfinden, damit der Anwender bessere Chancen hat herauszufinden, um welches Programm es gerade geht. Das geht ja oft aus dem Prozessnamen nicht hervor.

Um die laufenden Prozesse zu ermitteln habe ich mich folgender Prozedur bedient, wobei ich zugeben muss, dass ich diese von Delphi-Source habe, da ich damit nicht so wirklich zurande kommen würde:

Delphi-Quellcode:
procedure TFrmAnsicht.GetProcessList(const aProcessList: TStrings);
var Snap: THandle;
    ProcessE: TProcessEntry32;
begin
  aProcessList.Clear;
  Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  try
    ProcessE.dwSize := SizeOf(ProcessE);
    if Process32First(Snap, ProcessE) then
      Repeat aProcessList.Add(ProcessE.szExeFile);
      Until not Process32Next(Snap, ProcessE)
    else RaiseLastOSError;
  finally
    CloseHandle(Snap);
  end;
end;
Ich bedanke mich schonmal für eure Hilfe, Palad



PS: Ich bei Delphi-Source auch schon die Frage gepostet forum.dsdt.info/viewtopic.php?t=33998
  Mit Zitat antworten Zitat