Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Prozessinformationen abrufen (task manager - Funktionalität) (https://www.delphipraxis.net/141891-prozessinformationen-abrufen-task-manager-funktionalitaet.html)

helgew 18. Okt 2009 18:42


Prozessinformationen abrufen (task manager - Funktionalität)
 
Liste der Anhänge anzeigen (Anzahl: 2)
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz