Seite 1 von 1
Festplattenüberwachung
Verfasst: 09.05.2005 20:27
von der Fifan
Hallo zusammen - bin flammneu, zumindest hier in dem Forum - und habe ein Problem, zu dem ich bisher im Internet nur fertige Programme gefunden habe. Also: Ich möchte gerne eine Art Festplattenüberwachung schreiben, d.h. ich muß sofort wissen, wenn der Computer eine Datei auf die Platte schreibt, damit ich nachschauen kann, ob die Datei geändert wurde. Da es sich hierbei um eine recht volle Platte handelt, kann ich nicht permanent alle Dateien auf Änderung überprüfen, das würde den Rechner total auslasten. Mir schwebt also vor, dass es irgendwo in den Tiefen des BS einen Cache oder sonst etwas gibt, dass ich auf Veränderung überwachen kann und nach nach entsprechender Auswertung vielleicht auch anderer Stellen zum Pfad und Namen der gespeicherten Datei komme, um diese dann gezielt zu prüfen und bei Veränderung weitere Aktionen auslösen kann. Ich habe gehört, dass es, was so eine Überpwachung angeht, Unterschiede ab Win2000 geben muß, bzw. es sich hier einfacher gestalten ließe. Die permanente Abfrage der freien Festplatenkapazität bringt mir auch nichts, da ich ja dann wieder auf der Platte suchen muß. Für jegliche Tipps, Anregungen, Links, wo ich dann weiter suchen kann, wäre ich sehr sehr dankbar. P.S. dass so etwas geht, sagt mir mein inneres Auge, nur bin ich darauf im Moment etwas kurzsichtig. Schon 'mal Vielen Dank vom bloody beginner...
Verfasst: 09.05.2005 22:34
von Laurin
Auf deinem Computer wird laufend neue Daten auf die Festplatte(n) geschrieben, ohne dass du es merkst. Das sind z. B. Log-Daten oder auch eine Analyse, welche Dateien du häufig verwendest (für die Defragmentierung wichtig).
Das dauernd zu überwachen, wäre keine gute Idee, da dein Rechner dann immer einiges zu tun hat. Siehe Virenschutzprogramme, die verlangsamen, je nach Hersteller, die Computergeschwindigkeit.
Du könntest probieren, ob du dich irgendwie an die WindowsAPI für Dateizugriffe "ranhängen" kannst. Das ist sehr wohl möglich, aber frage mich nicht wie. Eventuell kommt dir da aber ein Antivirenprogramm in die Quere, weil es dein Prog. für einen Virus hält.
Such in der MSDN oder in Google mal nach "Hooking the Windows API" oder etwas in der Richtung.
Greetz Laurin
Verfasst: 12.05.2005 15:26
von RaVeN99
Die sache mit Win2k:
Meinst du zufällig die Master File Table (MFT)?
Da sind - soweit ich etz weiss - sämtliche Dateien drin aufgelistet...
Damit hättest du schonmal den Pfad der jeweiligen Datei. Das ganze ist aber weniger Betriebssystem abhängig als Dateisystem. Steht nämlich erst ab NTFS zur verfügung.
Kannst ja mal googlen und schaun ob dich das weiterbringt.
Mfg
RaVeN
Verfasst: 18.05.2005 09:31
von der Fifan
Vielen Dank schon einmal
Mir wurde der sehr hilfreiche Links von Sparcy aus dem englischen Board geschickt.
http://forums.purebasic.com/english/vie ... c&start=15
Ist auch genau das, was ich suche, nur kann ich damit (überigens ohne großen Resourcenverlust) ausschließlich eine Verzeichnisstruktur überwachen. Die Routine zeigt zwar auch an, wenn das direkt nachfolgende Verzeichnis eine Änderung erfährt, jedoch nicht weiter. Kann mann hier vielleicht noch tiefer abfragen?
Oder muß ich erst das Directory einlesen und dann für jedes Verzeichis einen eigenen Thread laufen lassen? Das ginge dann wieder auf die Resourcen...
Dank und Gruß Stefan
Verfasst: 18.07.2005 19:20
von der Fifan
Ja ich habe es selbst 'rausgefunden - man muß nur in der Abfrage den ersten false-Wert auf true stellen und schon überwacht diese Routine die gesamte Platte sehr komfortabel.
Danke nochmals für die schnelle Hilfe (nur bei mir hatte es etwas länger gedauert)