Filesystem-Treiber plugin



  • Ich habe hier das folgende Problem:

    Ich will einen Spezial-Ordner in einem beliebigen Dateisystem anlegen und bestimmte Aktionen abfangen können:

    1. Wird eine/ein Datei/Ordner in diesen Ordner kopiert oder verschoben spring mein Programm ein, öffnet ein Dialog-Fenster und fordert zuerst dieses zu vervollständigen, nach erfolgreicher Bestätigung wird die Datei kopiert bzw. verschoben, im Fall eines Widerspruches jedoch sollte dies aber verhindert werden

    2. Dasselbe gilt auch für das Löschen einer/eines Datei/Ordners

    3. Wird eine/ein Datei/Ordner umbenannt oder geändert muss ein bestimmter Systemdienst darüber informiert werden

    Diverse Anti-Viren Software macht ja bekanntlich ähnliche Sachen nur ohne GUI pop-up, leider weiß ich aber nicht genau wie ich das Problem angehen soll

    Wie kann ich diese Aufgabe bewältigen 😕



  • Falls du das .NET-Framework für dein Programm verwenden kannst, könntest du den FileSystemWatcher verwenden.
    Schau dir mal die Ereignisse an, ob die deinen Anforderungen entsprechen.

    Noch als Info: Für lokale Verzeichnisse funktioniert dieser recht zuverlässig, bei Netzwerkverzeichnissen würde ich ihn aber nicht einsetzen (sondern dann einen Dienst o.ä. auf dem entsprechenden Server programmieren, welcher diese Überwachung durchführt).

    PS: Das Programm selbst würde ich als Tray-Application entwickeln, so daß es bei Bedarf dann ein GUI_Fenster anzeigen kann.



  • Th69 schrieb:

    Falls du das .NET-Framework für dein Programm verwenden kannst, könntest du den FileSystemWatcher verwenden.
    Schau dir mal die Ereignisse an, ob die deinen Anforderungen entsprechen.

    Noch als Info: Für lokale Verzeichnisse funktioniert dieser recht zuverlässig, bei Netzwerkverzeichnissen würde ich ihn aber nicht einsetzen (sondern dann einen Dinest o.ä. auf dem entsprechenden Server programmieren, welcher diese Überwachung durchführt).

    .NET ist managed C#, ich dachte eher an C++ und Cross-Plattform da ich diese Funktionalität unter allen Betriebssystemen und Filesystems ermöglichen möchte. Plattform- oder Filesystem-spezifische Module müssten wohl einzeln entwickelt werden, aber das Kern des Systems bliebe dasselbe.

    Ich möchte nämlich nicht für Windows, Mac und Linux 3 code bases haben!



  • Dann schau dir mal SimpleFileWatcher an...



  • Th69 schrieb:

    Dann schau dir mal SimpleFileWatcher an...

    So viel ich verstanden habe kann SimpleFileWatcher directories monitoren, aber sowas wie Schreibvorgänge verhindern dazu ist es ja nicht fähig, aber gerade das möchte ich unter anderem auch erreichen...

    Durch fleißiges googlen habe ich herausgefunden, dass ich unter Windows wohl einen sogenannten "Filesystem Filter Driver" schreiben müsste um das Verhalten meines Ordners zu kontrollieren

    Unter allen anderen Systemen weiß ich noch keine Möglichkeit...

    EDIT:

    Vielleicht sollte mein Problem folgend gelöst werden:

    Mein virtueller Ordner soll als Speichermedium gemountet werden, dabei schreibe ich jeweils für Linux, Mac und Windows einen Geräte-Treiber der all die Funktionalität liefert die ich benötige



  • Alleine schaffste das nicht mit den Treibern. Da brauchst du ein Team von Experten auf diesem Gebiet.



  • watcher schrieb:

    Alleine schaffste das nicht mit den Treibern. Da brauchst du ein Team von Experten auf diesem Gebiet.

    Aber so sollte doch das Problem unter allen Betriebssystemen gelöst werden können, richtig?


Log in to reply