Entwickler-Ecke

Windows API - Dateizugriff überwachen


wk_one - Mi 18.06.03 14:27
Titel: Dateizugriff überwachen
Hallo,

ich möchte die Dateien eines Verzeichnisses überwachen und die Zugriffe (eigentlich nur Lesezugriffe) protokollieren.
Hab keine Ahnun wo ich anfangen soll. :oops:

Kann mir jemand helfen?

Danke


FriFra - Do 19.06.03 00:00

Es gibt so ein Tool von Sysinternals [http://www.sysinternals.com/]... wie die das genau machen weis ich nicht, aber dieses Programm hat mir schon oft geholfen.


matze - Do 19.06.03 08:40

also ich hab bei http://www.torry.net schonmal kompos gesehen, die sowas können, wie die funzen ist mir allerdings ein rätzel !!!


AndyB - Do 19.06.03 10:04

Ohne einen Kernelmode Treiber bleibt einem nur ein globaler API Hook.


matze - Do 19.06.03 10:22

ja das hab ich auch gedacht. es gibt ja ein event das einem sagt WENN in der datei struktur der festplatte was getan wird aber nciht WO und WAS.

aber hier: http://www.torry.net/notification.htm sind kompos drauf die das können


wk_one - Fr 20.06.03 08:25
Titel: Danke euch allen
:D Also vorerst danke euch allen für die Hinweise. Werde mal ein wenig probieren.

Thanx


wk_one - Fr 20.06.03 08:47

FriFra hat folgendes geschrieben:
Es gibt so ein Tool von Sysinternals [http://www.sysinternals.com/]... wie die das genau machen weis ich nicht, aber dieses Programm hat mir schon oft geholfen.


Da ist ein Tool Dabei das kommt sehr nah ran an dem was ich benötige.
Leider werden nur komplette Laufwerke überwacht. Und auch nur die Lokalen.
Wenn man noch angeben könnte welches Verzeichnis in einem nicht lokalen Laufwerk (Netzlaufwerk) überwacht werden soll, und das Ding die Liste als Textdatei ausgeben würde wäre es perfekt. :P

Danke Dir für den Tip.


matze - Fr 20.06.03 10:30

dann schu dir mal die kompos an !


wk_one - Fr 20.06.03 11:44
Titel: die Kompos sind klasse
matze hat folgendes geschrieben:
dann schu dir mal die kompos an !


Danke für den Link.
Also ich habe die Komponente DirMonitor v.1.2 versucht und es hat auch alles klasse funktioniert. Leider ist mir erst jetzt aufgefallen, dass nur Lesezugriff keine Änderung an der Datei bewirkt.

Hier das Problem:
Ein Programm verwendet einige Dateien. Ich soll ein Tool besorgen oder erstellen, welches mitprotokolliert (in eine Textdatei) wie oft und evtl. wann eine dieser Dateien aufgerufen wurde.

Leider wird an einer vom Programm aufgerufenen Dateien nichts geändert. Keine Änderung an der Datei = keine Meldung.
Die Komponenten auf Torry.net fangen ja nur Aktionen bei Änderung ab. Es sei denn ich habe da was übersehen.

Tja, so wie es aussieht stehe ich vor einer Sackgasse. :(


matze - Fr 20.06.03 13:16

hmmm.... also die sysinternal tools lösen das glaub ich über einen systemtreiber oder so.... das in delphi zu lösen ist komplex


wk_one - Fr 20.06.03 13:25
Titel: Admin Foren?
Also selbst etwas zu schreiben ist nicht. Nicht mit meinen Kenntnissen zumindest.
Kennt jemand vielleicht ein Foum für System Admins? Dort könnte ich ja fragen ob da jemand Tools kennt die das können.

Vielen Dank nochmal für die Tips.


Delete - Fr 20.06.03 13:37

Kuck dir das mal an SHChangeNotify [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shchangenotify.asp]
Bei einem Zugriff muß sich das datum und die Zeit des letzten Zugriffsgeändert haben.