Verzeichnis überwachen



  • Hallo zusammen,

    ich suche nach einer Möglichkeit, ein von mir definiertes Verzeichnis "unter Beobachtung" zu stellen. Ich will, dass mein Programm darüber informiert wird, wenn sich in dem Verzeichnis etwas verändert (Datei editiert, Datei erstellt, Datei gelöscht, Ordner erstellt, etc)
    Im Prinzip einen Hook nur für Verzeichnisse.

    Gibts sowas von Haus aus, oder muss ich mir da was basteln?

    mfg,

    SALOMON



  • hallo,

    ich möchte mich dem Fragesteller direkt anschließen.
    mir geht es aber vor allem um Dateiüberwachung.

    MSVC macht es ja z.B. schon vor:
    wird eine Datei außerhalb des Editors geladen, so fragt MSVC nach, ob die Ansicht im Programm aktualisiert werden soll.

    wie kann man das realisieren ohne ständig die Datei auslesen und mit dem alten Inhalt vergleichen zu müssen?



  • Interessant. Ja, hat da jemand Info zu?



  • Forensuche -> ReadDirectoryChangesW



  • wie kann man das realisieren ohne ständig die Datei auslesen und mit dem alten Inhalt vergleichen zu müssen?

    ReadDirectoryChangesW wurde ja schon erwähnt.
    Weiters gibt es noch FindFirstChangeNotification.
    Und Change Journals gibt's dann auch noch.

    Ansonsten kann man noch das "last changed" Datum pollen, damit spart man sich zumindest das Lesen des Files. Wenn auch Polling bei grösseren Mengen von zu überwachenden Files/Verzeichnissen sicher nicht optimal ist.

    Welche Methode wie gut oder schlecht funktioniert, wie es jeweils mit Netzwerklaufwerken etc. aussieht, dazu kann ich leider nichts sagen. Würde mich selbst interessieren.



  • Ich bin gerade dabei so ein Programm zu schreiben. Im Zuge dessen habe ich mich mit eurer Problematik umfangreich beschäftigt. Wenn Ihr mir veratet, welche Entwicklungsumgebung ihr benutzt, kann ich euch Beispiele (Beispielprogramme) empfehlen. Für den BorlandBuilder habe ich keines gefunden, aber da hab ich mein Programm im Angebot, da das bei mir schon funktioniert. Ich hänge gerade an den Dateiinfos auslesen 😉
    Gute Beispiele gab es vorallem für Delphi und VC++(MFC)

    lg Stephan



  • menel schrieb:

    Ich bin gerade dabei so ein Programm zu schreiben. Im Zuge dessen habe ich mich mit eurer Problematik umfangreich beschäftigt. Wenn Ihr mir veratet, welche Entwicklungsumgebung ihr benutzt, kann ich euch Beispiele (Beispielprogramme) empfehlen. Für den BorlandBuilder habe ich keines gefunden, aber da hab ich mein Programm im Angebot, da das bei mir schon funktioniert. Ich hänge gerade an den Dateiinfos auslesen 😉
    Gute Beispiele gab es vorallem für Delphi und VC++(MFC)

    lg Stephan

    na denn zeich mal wat für VC++(MFC)



  • http://www.codeproject.com/KB/files/directorychangewatcher.aspx

    dieses Beispiel wird sehr gerne zitiert. Das Programm läuft auch nach dem kompilieren, was für Beispiele auch nicht selbstverständlich ist 😉

    lg Stephan



  • Vielen Dank zusammen, das habe ich gesucht 🙂

    Ich werde das gez in nächster Zeit testen...

    SALOMON


Anmelden zum Antworten