Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Festplatte überwachen (https://www.delphipraxis.net/68323-festplatte-ueberwachen.html)

gsh 27. Apr 2006 23:08


Festplatte überwachen
 
Hi DPler

Ich hab mal eine Frage wie kann ich die Festplatte überwachen? D.h. Wenn ein Programm eine Datei erstellt/ändert bzw. zugreift/liest möchte ich das mein Programm bevor das passiert und nachdem das passiert ist benachrichtigt wird.

Kleines Bsp.: FremdesProg will auf eine Datei zugreifen, MeinProg wird benachrichtigt (FremdesProg muss warten), MeinProg scannt die Datei und sagt dann ok, erst dann kann das FremdeProg auf die datei zugreifen (lesen, schreiben), dann kann das FremdeProg alles mit der datei tun was es will, bis das FremdeProg die Datei schliesst, dann muss ich wieder benachrichtigt werden.


So ich hoffe ihr habt mich verstanden :mrgreen:

Mackhack 28. Apr 2006 02:32

Re: Festplatte überwachen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ich habe mal ein Tool geschrieben mit hilfe von Muetze1 das alle Files die ausgewählt wurden und in einer ListBox stehen oder so überwacht und dann wenn etwas verändert wurde in einen anderen Ordner kopiert. Hier mal das Programm. Vlt. hilft es dir ja!

Luckie 28. Apr 2006 11:36

Re: Festplatte überwachen
 
Zitat:

Zitat von gsh
Ich hab mal eine Frage wie kann ich die Festplatte überwachen?

Mit einem Dateisystemfiltertreiber.

himitsu 28. Apr 2006 11:47

Re: Festplatte überwachen
 
Oder alle Befehle hooken, mit welchen man auf Dateien zugreifen kann.

z.B.
CreateFile und CloseFile.

Diese beiden (natürlich gibt's auch noch andere) so umleiten, daß zuerst deine Funktionen zum Prüfen aufgerufen werden und diese anschließend CreateFile und CloseFile aufrufen ... das andere Programm müßte dann ja zwangsläufig solange warten, bis deine Bearbeitung fertig ist?

brechi 28. Apr 2006 12:29

Re: Festplatte überwachen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hatte da mal vor längerer Zeit was programmiert

zuerst brauchst du
http://cvs.sourceforge.net/viewcvs.p...allCollection/

Alternativ einen (Ring0) ntoskrnl.NtCreateFile hook :)

CG2003 28. Apr 2006 12:30

Re: Festplatte überwachen
 
Zitat:

Zitat von brechi
Ich hatte da mal vor längerer Zeit was programmiert

zuerst brauchst du
http://cvs.sourceforge.net/viewcvs.p...allCollection/

Alternativ einen (Ring0) ntoskrnl.NtCreateFile hook :)

Kann man das auch unter BDS2006 bzw. Delphi 2006 compilieren? Denn der obige Link geht nur bis D7.

gsh 28. Apr 2006 21:10

Re: Festplatte überwachen
 
Zitat:

Zitat von Mackhack
Hier mal das Programm. Vlt. hilft es dir ja!

Danke ich werds mir mal anschauen

//Edit: hab mir jetzt mal kurz dein Prog. angeschaut. Wenn ich des richtig gesehen hab dann tust du einfach bei einer bestimmten dateiliste immer wieder die größe auf gleichheit überprüfen.
Ich möchte aber die ganze Festplatte überwachen. Außerdem muss des fremdprog. dabei nicht warten und und und, also leider nichts brauchbares für mich. trotzdem danke

Zitat:

Zitat von Luckie
Mit einem Dateisystemfiltertreiber.

Klingt ja interessant :-D Nur was ist das? :stupid:
Bzw. was kann ich damit genau machen bzw. wie mache ich des?


Zitat:

Zitat von himitsu
Oder alle Befehle hooken, mit welchen man auf Dateien zugreifen kann.

Des klingt auch sehr gut, nur wie? :stupid:

Luckie 28. Apr 2006 21:33

Re: Festplatte überwachen
 
Mit dem Treiber klinkst du dich zwischen Windows und dem tatsächlichen Schreiben auf doe festplatte ein. Ist aber nicht trivial. Vorraussetzung sind detailierte Kenntniss ein C, der Treiberentwicklung, des VC und des DDK. Mit Delphi hast du keine Chance, da was zu erreichen.

gsh 28. Apr 2006 22:16

Re: Festplatte überwachen
 
Zitat:

Zitat von Luckie
Mit dem Treiber klinkst du dich zwischen Windows und dem tatsächlichen Schreiben auf doe festplatte ein. Ist aber nicht trivial. Vorraussetzung sind detailierte Kenntniss ein C, der Treiberentwicklung, des VC und des DDK. Mit Delphi hast du keine Chance, da was zu erreichen.

ok ich glaube der Hook ist dann viel besser
weil ich kann nur ein bisschen C aber an Treiberentwicklung ist da nicht zu denken

Also weiss jemand wie des mit dem Hook geht?

Daniel G 28. Apr 2006 23:54

Re: Festplatte überwachen
 
Zitat:

Zitat von gsh
weil ich kann nur ein bisschen C aber an Treiberentwicklung ist da nicht zu denken

Beim DDK ist schon ein Beispiel für einen Dateisystemtreiber dabei. Leider gibt es das DDK offiziell nicht mehr kostenlos.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:41 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz