Entwickler-Ecke

Windows API - Auf Veränderungen in einem Ordner reagieren


blaskito - Mi 27.02.08 17:15
Titel: Auf Veränderungen in einem Ordner reagieren
Hallo zusammen,

ich baue an einem Dienst rum, der einen Ordner (und dessen Unterordner) auf Veränderungen überwacht und sofort von neuen oder geänderten Dateien ein Backup erstellt. Bislang lese ich dazu mit FindFirst .. FindNext die Ordnerinhalte aus. Das ist aber (insbesondere für einen Hintergrunddienst) ziemlich unperformant. Kennt jemand einen API-Aufruf oder eine Windows-Message, was beim Speichern einer Datei im Filesystem ausgelöst wird?

Gruß aus dem Norden
blaskito


Tino - Mi 27.02.08 18:35

Hallo!

Such mal hier im Forum nach Suche in der Entwickler-Ecke FINDFIRSTCHANGENOTIFICATION.

Gruß
Tino


Shorty - Mi 27.02.08 18:38

Moin!

Alternativ kannst du auch TShellChangeNotifier benutzen, vorausgesetzt, dass D6 Personal schon aktuell genug ist, habe damit bisher nur mit Delphi 7 Prof und Delphi 6 Ent gearbeitet.
Diese Komponente überwacht Verzeichnisse, auf Wunsch auch deren Unterverzeichnisse, ob Daten geändert, Dateien umbenannt etc. werden und reagiert darauf mit einem OnChange-Ereignis, auf das du verwenden kannst.

MfG Shorty


blaskito - Fr 29.02.08 21:19

Vielen Dank,

der TShellChangeNotifier ist mir leider mit D6 Pers nicht gegeben, aber die Suche nach FindFirstChangeNotification hat mir eine ganze Menge Material zum Ansetzen geliefert.

Nochmals, besten Dank!
Gruß aus dem Norden
blaskito


elundril - Fr 29.02.08 22:01

alternativ gibts auch noch die komponente von den Jedis. Wollt ich nur mal so vollständigkeitshalber anmerken.

lg elundril


blaskito - So 02.03.08 14:08

Hi,

ich bin in Jedi leider noch nicht so bewandert, habe mir also erstmal die Library runtergeladen und bin auf die Suche gegangen - und habe nichts gefunden.

Heist die Komponente auch "TShellChangeNotifier" oder habe ich vielleicht die falsche Lib runtergeladen?

Gruß aus dem Norden
blaskito