Entwickler-Ecke

Windows API - Prozess start und beendung aufzeichnen


Markus254 - So 04.03.07 22:23
Titel: Prozess start und beendung aufzeichnen
Hi

Ich würde gerne ein Programm programmieren, dass alle Aktionen am PC aufzeichnet.
Klappt bisher ganz gut, doch mit Prozessen kenne ich mich ned aus :oops:

Hat mir einer einen Source, der es aufzeichnet, wenn man ein Prozess startet und beendet ?
Hab mir schon http://www.delphi-forum.de/viewtopic.php?t=68966&highlight=prozesse angeschaut, doch ich vestehe dort nur Bahnhof... :oops:

Danke im Vorraus
Markus254


Christian S. - Mo 05.03.07 00:03

Wie man eine Prozessliste erstellt, ist hier [http://www.delphi-library.de/topic_Prozessliste+erstellen_41114.html] beschrieben. Du könntest einfach jede Sekunden schauen, ob die sich ändert. Ist keine schöne Lösung, aber was anderes fällt mir nicht ein, da sind dann unsere WinAPI-Cracks für zuständig ;-)


BenBE - Mi 07.03.07 18:32

Für das Mitprotokollieren der Prozessstarts gibt es drei wesentliche Dinge ...

1. Die von Christian beschriebene Möglichkeit (einfach, funktioniert, hat aber markante Schwächen ... (Programme, die nur kurz laufen, Systemauslastung, ...)

2. API-Hook auf CreateProcessExW (funktioniert gut, brauch aber relativ viele Rechte ..., Fehlerträchtig, wird ggf. von Virenscannern und Firewalls angemeckert).

3. Nutzung eines Treibers (Basiert im Wesentlichen auf 2., bedarf rlativ weniger Rechte [IIRC ab Hauptbenutzer möglich - also wenn man mit dem Treiber reden darf :P], aufwändig zu programmieren [Der Treiberteil ist mit Delphi NICHT* möglich], einzige Implementation dieser Methode hab ich bisher in C gesehen ... und die sah einfach nur gräßlich aus ...)

*Es GIBT Möglichkeiten für Delphi, diese kombinieren aber die Nachteile von 2. UND 3. ... Hierfür kenn ich sogar KEINEN Source, der dies nutzt ...