File-Handles eines laufenden Prozesses auslesen?
-
Hallo Leute, ich hätt da gern mal ein Problem...
Um festzustellen, ob ein Programm eine .doc oder .xls-Datei öffnet, brauche ich eine Überwachung im Task-Manager-Stil.
Meine Idee war, mit CreateToolhelp32Snapshot eine Prozessliste einzufangen. Das Problem ist dann, zu den gefundenen Prozessen die zugehörigen File-Handles auszulesen. Daraus dann wiederum die Filenamen zu extrahieren, sollte dann kein Problem mehr sein.
Aber wie komme ich an die Handles?
-
Wenn du das nicht unbedingt selbst proggen willst, gibts sowas von Sysinternals
Sysinternals bietet viele sehr kleine und vorallem sehr nützliche Tools.was du brauchst :
http://www.sysinternals.com/Utilities/Handle.html
Mfg
Ruph
-
Wie gesagt.. die eigentlich richtige Lösung wäre einen File-System-Filter-Treiber zu schreiben!
Ansonsten gibt es nur undokumentierte Funktionen: http://www.phobos.nildram.co.uk/pittbull.zip
-
DrRudi schrieb:
Hallo Leute, ich hätt da gern mal ein Problem...
LOL
(sorry wegen OT, aber ist zu geil)
-
Hallo Leute, ich hätt da gern mal ein Problem...
muhaha... 100%!
-
Leider zeigt das handle-Prog von sysinternals keine handles von Dateien, die aus dem Netz geöffnet wurden... Ansonsten wäre mir das egal gewesen, ich bin nicht scharf drauf, das selber zu proggen...
Witzigerweise kann der Process-Explorer von sysinternals das, aber ich weiß nicht, wie ich die Daten daraus an mein Prog übergeben könnte... also doch selbst machen...
Jochen: Danke für Deine rege Anteilnahme, ich hab Deinen Code aber immer noch nicht zum laufen bekommen, kann also bisher nur raten, was er macht.