Einsteigerfragen zur PROFAN Programmierung

| Suchen
| Zurück zur Übersicht

Autor | Thema: überwachen
Mathias Kranze
| Datum:03.05.02 17:30 |
überwachen Ich habe einen Ordner mit verschiedenen Dateien. Nun möchte ich diesen Ordner überwachen d.h. alle Vorgehensweisen und Geschehnisse (Umbenennen, verschieben, ausschneiden, kopieren, löschen, einfügen, einfügen aus, Datei öffnen, Datei/Dateiattribute ändern usw.) sollen angezeigt und verhindert werden. Hier meine bisherigen Überlegungen. Um dies zu verhindern, möchte ich in einer whileschleife alle Möglichkeiten den Ordner oder die Dateien zu ändern, unterbinden Verhindern folgende Funktionen: Datei wird gelöscht (Schreibgeschützt aktivieren) = Fragen ob Datei da, wenn nicht Alarm Datei wird umbenannt (schreibgeschützt aktivieren) = Fragen ob Datei da, wenn nicht Alarm Datei wird ausgeschnitten (schreibgeschützt aktivieren) = Fragen ob Datei da, wenn nicht Alarm Datei wird verschoben (schreibgeschützt aktivieren) = Fragen ob Datei da, wenn nicht Alarm Datei ändern (Größe überwachen) = Fragen ob Datei sich in Größer verändert hat, wenn ja Alarm Diese Sperren werden jederzeit abgefragt. Falls die Dateiattribute geändert wurden, werden sie wieder gesetzt. Aber wie kann ich folgende Funktionen überwachen Datei wird kopiert (kopieren/kopieren und in ein anderes Verzeichnis einfügen) Datei wird eingefügt Datei wird geöffnet Ich weiss, das diese Vorgehensweise nicht die beste ist aber leider weis ich entsprechende Apis nicht. Zudem wäre es vom Vorteil nicht alle Dateien einzeln abfragen zu müssen, sondern beispielsweise einen ganzen Ordner überwachen zu können. Beispiel Order mit Messages schützen, daß ein 1.Löschen von Dateien/Ordner verhindert 2.Umbenennen von Dateien/Ordner verhindert 3.Ausschneiden von Dateien/Ordner verhindert 4.Verschieben von Dateien/Ordner verhindert 5.Ändern von Dateien/Ordner verhindert 6.Einfügen von Dateien/Ordner verhindert wird Vielleicht gäbe es ja entsprechende Apis zu diesen Thema? 1.Löschen von Dateien/Ordner verhindert Schlechte Lösung = Es wird geprüft ob Datei da ist, wenn nicht wird ein Fenster angezeigt und die Datei wird nochmals kopiert Gute Lösung = Erst kein löschen möglich machen (Vielleicht durch Dateiattribut/API?) 2.Umbenennen von Dateien/Ordner verhindert Schlechte Lösung = Es wird geprüft ob die Datei mit dem Dateinamen noch da ist, wenn nicht wird ein Fenster angezeigt und die Datei wird nochmals kopiert Gute Lösung = Erst kein umbenennen möglich machen (Vielleicht durch Dateiattribut/API?) 3.Ausschneiden von Dateien/Ordner verhindert Schlechte Lösung = Es wird geprüft ob die Datei mit dem Dateinamen noch da ist, wenn nicht wird ein Fenster angezeigt und die Datei wird nochmals kopiert Gute Lösung = Erst kein ausschneiden möglich machen (Vielleicht durch Dateiattribut/API?) 4.Verschieben von Dateien/Ordner verhindert Schlechte Lösung = Es wird geprüft ob die Datei mit dem Dateinamen noch da ist, wenn nicht wird ein Fenster angezeigt und die Datei wird nochmals kopiert Gute Lösung = Erst kein verschieben möglich machen (Vielleicht durch Dateiattribut/API?) 5.Ändern von Dateien/Ordner verhindert Schlechte Lösung = Es wird geprüft ob die Größe der Datei mit der normalen überinstimmt, wenn nicht wird ein Fenster angezeigt und die Datei wird nochmals kopiert (Die alte wird ersetzt) Gute Lösung = Erst kein ändern möglich machen (Vielleicht durch Dateiattribut/API?) 6.Einfügen von Dateien/Ordner verhindert Schlechte Lösung = Es wird geprüft ob die Anzahl der Dateien mit dem Standart übereinstimmt, wenn nicht wird ein Fenster angezeigt und der Ordner wird gelöscht und Dateien werden nochmals kopiert Gute Lösung = Erst kein einfügen möglich machen (Vielleicht durch Dateiattribut/API?) 7.Ändern von Datei/Ordnerattribute verhindert Schlechte Lösung = Die Dateiattribute werden in einer while schleife immer wieder gesetzt Gute Lösung = Erst kein Ändern möglich machen (Vielleicht durch API?) Der Ordner und die Dateien müssen überwacht bzw. geschützt werden. Gibt es eine bessere Möglichkeit als die schlechte Lösung, um dies umzusetzen?
Thorsten
| Datum:03.05.02 17:51 (mrk@mrk-soft.de) |
Hallo Mathias, Nichts für Ungut, aber das geht über grenzen von Profan absolut heraus und ist nicht realisierbar. Das Dateisystem wird von Windows und der dazugehörigen VXD Datei gesteuert, Zugriffsrechte lassen sich nur von Windows Selber verwalten, und das auch nur vernünftig unter NT bzw. XP. Wenn du gut in C++ und Assembler bist, kannste die einen eigenen VXD Treiber schreiben, der ein Virtuelles Laufwerk im Betriebssystem erzeugt, (mit Laufwerksbuchstaben), das V- Laufwerk selber greift dann z.b eine Datei zu. Für Windows ist es dann ein Datenträger wie jeder andere auch, wird entsprechend dazu eine Benutzerverwaltung und Zugriffssteuerung in dieser VXD eingebaut, ist der Schutz dann machbar. NT bzw XP bieten soetwas schon in etwa an, unter LINUX sind solche Zugriffsrechte schon immer vorhanden gewesen.
Dr. Mabuse
| Datum:03.05.02 18:04 |
Hallöchen unser API-Guru hat wohl FindFirstFileNotification übersehen, damit kann man sogar in Profan sowas ganz einfach kontrollieren. Das passende Beispiel überlasse ich aber besser Euch Gurus. Dr. Mabuse
Thorsten
| Datum: 03.05.02 20:00 (mrk@mrk-soft.de) |
Hey Dr. Mabuse, FindFirstChangeNotification wäre auch möglich, Naja, überwachen ist ja auch nicht das sooo grosse Problem, ehr das Verhindern der Aktion selber. Was mir dazu wiklich einfällt wäre, alle Files in diesem Direktory "IN USE" zu halten, mit alleinigem Recht. Somit könnte dann kein anderes Programm mehr auf diese Files zugreifen oder verändern.
Horst Horn
| Datum:03.05.02 17:55 (info@web-treffpunkt.de) |
>>>Der Ordner und die Dateien müssen überwacht bzw. geschützt werden. Gibt es eine bessere Möglichkeit als die schlechte Lösung, um dies umzusetzen? <<< den NORTON-COMMANDER ? ...oder erfindet hier jemand ein neues Rad ? CU horst horn
Mathias Kranze
| Datum:03.05.02 19:57 |
@ Thorsten Eine Möglichkeit eine Änderung der Datei zu loaklisieren habe ich nun gefunden.... VXD Treiber wird auch für ein Filepacker benötigt und ist einiges an Arbeit FindFirstFileNotification Was kann diese Funktion genau

| Zurück zur Übersicht

| Ein kostenloses WebMart Forum WebMart Homepage Tools kostenlos |