Autor Beitrag
DeadlyAppearance
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Di 26.01.10 12:35 
Einen schönen guten Morgen zusammen.

Und zwar möchte ich gerne ein Programm entwickeln, welches eine Liste aller Dateien erstellt auf welche zugegriffen wird und bei überschreiten einer gewissen Anzahl diese auf ein Ram-Laufwerk verschiebt und ein Hardlink setzt.
Bis jetzt habe ich leider solch eine Software noch nicht gefunden.

Da unter Windows 7 der Ressourcemanager alle Festplattenzugriffe aufzeigt denke ich mal, dass man dies irgendwie über die Windows API anfragen kann welche Datein gerade im Zugriff sind.

Hat denn jemand eine Idee oder Erfahrung wie ich an diese Informationen gelange, oder ob es bereits eine Softwarelösung für mein Vorhaben gibt?

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 29.01.10 10:05 
Schade das keine eine Idee hat.
Was ich bis jetzt heraus bekommen habe ist, dass es die Klasse FileSystemWatcher zwar eine Überwachung anbietet, es jedoch kein Event beim Zugriff(Read) einer Datei ausgelöst wird.
Desweiteren bin ich auf die Klasse PerformanceCounter gestoßen. Jedoch habe ich noch nicht herraus gefunden, wie ich den Prozessen entlocke ob sie gerade am Filesystem herum werkeln.

Das Programm Process Monitor 2.8 liefert mir eine nette Übersicht, welcher Prozess eine Operation auf dem Filesystem ausgeführt hat, welche Datei im Zugriff war und wieviel Byte gelesen/geschrieben wurden.
Leider habe ich noch nicht herraus bekomme, wie dieses Programm an diese Daten kommt.

Was ich mir auch noch vorstellen könnte, dass man irgendwie über die NTFS-Tabelle mit bekommt, welche Datei im Zugriff ist usw.

Ich hoffe mir kann jemand helfen, da ich leider bis jetzt kein Erfolg erzielen konnte.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
c#surfer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 42
Erhaltene Danke: 2



BeitragVerfasst: Fr 29.01.10 17:53 
Eine gute Idee habe ich leider nicht, aber Windows notiert die Zeit des letzten Zugriff (FileInfo.LastAccessTime) - vieleicht kannst du das ausnutzen.