AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verzeichnisüberwachung

Ein Thema von luckystar85 · begonnen am 17. Aug 2005 · letzter Beitrag vom 1. Sep 2006
Antwort Antwort
Olli
(Gast)

n/a Beiträge
 
#1

Re: Verzeichnisüberwachung

  Alt 17. Aug 2005, 21:49
Okay, dann gehen wir mal die Flags durch:
  • Löschen, Erstellen oder Umbenennen:
    FILE_NOTIFY_CHANGE_FILE_NAME (Changes include renaming, creating, or deleting a file)
  • Löschen oder Erstellen oder Umbenennen eines Verzeichnisses:
    FILE_NOTIFY_CHANGE_DIR_NAME (Changes include creating or deleting a directory)
  • Attribute geändert:
    FILE_NOTIFY_CHANGE_ATTRIBUTES (Any attribute change in the watched directory or subtree causes a change notification wait operation to return)
  • Größe ändert sich:
    FILE_NOTIFY_CHANGE_SIZE (Any file-size change in the watched directory or subtree causes a change notification wait operation to return. The operating system detects a change in file size only when the file is written to the disk. For operating systems that use extensive caching, detection occurs only when the cache is sufficiently flushed)
  • Dateizeit Letzte Änderung:
    FILE_NOTIFY_CHANGE_LAST_WRITE (Any change to the last write-time of files in the watched directory or subtree causes a change notification wait operation to return. The operating system detects a change to the last write-time only when the file is written to the disk. For operating systems that use extensive caching, detection occurs only when the cache is sufficiently flushed)
  • Dateizeit Letzter Zugriff (auch Lesen):
    FILE_NOTIFY_CHANGE_LAST_ACCESS (Any change to the last access time of files in the watched directory or subtree causes a change notification wait operation to return)
  • Dateizeit Erstellungsdatum ändert sich:
    FILE_NOTIFY_CHANGE_CREATION (Any change to the creation time of files in the watched directory or subtree causes a change notification wait operation to return)
Rot ist für dich interessant, grün nur wenn die Dateien auf NTFS sind. Ich würde dir dringend empfehlen, daß die Dateien auf NTFS liegen und der Dateicache großzügig eingestellt wird.

Sobald eine Änderung passiert, solltest du den Thread schlafenlegen nachdem du deine Überprüfung gemacht hast. Nach dem Aufwachen machst du den nächsten Durchgang. Allerdings verstehe ich noch nicht, wieso du FindNextChangeNotification und ReadDirectoryChangesW mischst. IMO reicht es in einem Thread, wenn du einfach die synchrone Variante von ReadDirectoryChangesW aufrufst und somit die Funktion erst zurückkehrt, wenn was passiert ist. Danach kann sich der Thread wieder schlafenlegen indem die Funktion wieder aufgerufen wird (ich empfehle davor ein Sleep(0).

Die beiden Methoden zur Ermittlung von Änderungen müssen nicht kombiniert eingesetzt werden! FindFirst*/Next* ermittelt nur das OB, ReadDirectory* ermittelt das WAS! Das ist der Unterschied. Ich empfehle letztere Methode, da dies die für dich passende zu sein scheint.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz