Einzelnen Beitrag anzeigen

helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#1

Prozessinformationen abrufen (task manager - Funktionalität)

  Alt 18. Okt 2009, 18:42
Die Unit "WinProcessInfo" erlaubt das Auslesen von Prozess- und Threadinformationen.

Es handelt sich um eine Zusammenstellung mehrerer Datenstrukturen und zugehörigen Ausleseroutinen, die neben den üblichen Prozessinformationen wie Speichernutzung, user und kernel mode Zählern auch Threadinformationen erschließen. Der Code basiert auf zusammengetragenen und nach Delphi übersetzten Snippets sowie eigenen Erweiterungen und greift auf zur Erstellungszeit weitgehend nicht offiziell dokumentierte ("undocumented API") Funktionalität zurück. So lassen sich unter anderem folgende Funktionen realisieren oder wurden im Beispielcode schon berücksichtigt:
  • Auflisten von pid, usertime, kerneltime, totaltime, threads, handles, Speichernutzung, io counters,
    z.B.
    Zitat:
    Process Name ProcID Threads Handles Memory(kB)

    Idle 0 1 0 0 kB
    System 4 87 561 240 kB
    smss.exe 512 3 20 372 kB
    ...
  • Auflisten der geladenen Module eines Prozesses, z.B.
    Zitat:
    ...
    77D10000 : C:\WINDOWS\system32\user32.dll
    77EF0000 : C:\WINDOWS\system32\GDI32.dll
    5CF00000 : \Device\HarddiskVolume8\WINDOWS\system32\shimeng.d ll
    6FD90000 : \Device\HarddiskVolume8\WINDOWS\AppPatch\AcGenral. dll
    ...
  • Auflisten der Aufrufparameterketten (paramstr() fremder Prozesse implementierbar). Mit dieser Funktionalität wurde auch das Beenden und Neustarten eines Prozesses mit erhaltener Aufrufparameterliste implementiert, was die ursprüngliche Motivation für die task manager - Anwendung war.

    Zitat:
    svchost.exe C:\WINDOWS\system32\svchost -k rpcss
    svchost.exe C:\WINDOWS\System32\svchost.exe -k netsvcs
    Smc.exe C:\Programme\Sygate\SPF\smc.exe
    svchost.exe C:\WINDOWS\system32\svchost.exe -k NetworkService
    svchost.exe C:\WINDOWS\system32\svchost.exe -k LocalService
    ...


Der Code ist einigermaßen vollständig und auf Funktionalität geprüft.
Angehängte Dateien
Dateityp: dpr task_841.dpr (12,4 KB, 71x aufgerufen)
Dateityp: pas winprocessinfo_131.pas (39,7 KB, 100x aufgerufen)
  Mit Zitat antworten Zitat