Autor Beitrag
mazias
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Fr 03.01.03 21:25 
Hat jemand ne Idee wie ich folgende Änderungen im Dateisystem überwachen kann: Dateien/Ordner Gelöscht; Erstellt; Umbenannt.

Ich suche schon ziemlich lange nach einer Lösung für das Problem, hab aber noch nichts gefunden.
Ich hab's mit FindFirstChangeNotification probiert, aber das sagt mir nur das sich was geändert hat, aber nicht was.
Dann hab ich's mit so einer versteckten Shell-Funktion probiert, aber die zeigt nur Änderungen an, die der Benutzer im Explorer macht.
Als letztes hab ich mir den Source von FileMon runtergeladen, aber da seh ich nicht richtig durch. Außerdem zeigt das Programm vielleicht hundert Ereignisse an, wenn man nur mal ne Datei umbenennt.
Das letzte was mir im Moment noch einfällt ist die API-Funktion ReadDirectoryChangesW. Hab ich noch nicht ausprobiert, ich glaube aber das es recht ähnlich zu FindFirstChangeNotification ist, bin mir aber nicht sicher.

Also wenn jemand ne Idee hat, auch wenn's nur ne kleine ist, würde ich mich sehr Freuen.

Tschau
-Matze
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Sa 04.01.03 00:06 
Hallo,
in den FAQs "Dateien" findest du das rekursiv Suchen nach Ordner und Dateien. Wenn Du dort beim Aufruf der Funktion "c:\" eingibst, dann
wird dir in einer listbox komplett C: aufgelistet. Dieses kannst Du speichern und nach Deinen Veränderungen wiederholen. So bekommst Du zwei Textfiles (vorher und nachher). Diese kannst Du dann in zwei arrays laden und vergleichen. In die o.g. Funktion kannst Du noch die Größe, die Eigenschaft usw. aufnehmen, dann findest Du noch mehr Veränderungen.
Gruß Pierre
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 04.01.03 18:31 
Ist das nicht zu langsamm ?
Ich bin mir sicher das es Programm botschaften gibt die das programm an windows sendet. Wenn man diese Botschaften abfangen könnten würde man sicher schneller zum Ziel komme oder ?
aber die frage ist ja. Gibt es so eine botschaft wenn ja wie heißt sie ?

MFG
mimi
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Sa 04.01.03 19:42 
das hab ich hier ( www.delphi-forum.de/...=5221&highlight= ) auch schon gefragt

Moderiert von user profile iconChristian S.: Link: AUQ -> DF
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 04.01.03 21:51 
Das meine ich doch garnicht.
Ein Programm sendet doch nachrichten an windows oder nicht ?
und die nachrichten könnte man doch abfangen oder nicht ?

MFG
mimi
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Sa 04.01.03 22:15 
ja stimmt.

aber wie macht das denn filemon ?? schickt denn windoof nicht ne msg raus, wenn irgendwas am dateisystem gemacht wird ??

_________________
In the beginning was the word.
And the word was content-type: text/plain.
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 04.01.03 22:25 
daovn rede ich doch.
Filmon(oder wie das coole programm heißt) aber ich selbst. Und ich wollte es auch schonmal schreiben;)

ich vermute mal das es für alle befehle auf das Dateisystem eine eigene nachricht gibt.
das heißt: du musst herrausfinden welche nachrichte das sind.
und wie man sie unter Delphi abfangen kann.
und schon hast du dein Ziel erreicht ;)
ich wollte z.B funktionen einbauen die es dir erlauben nur bestimmte programm zu überwachen. Weil wenn du nur ein bestimtes Programm beobachten willst ist das mit Filemon zimlich schwer :cry:

MFG
mimi
mazias Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: So 05.01.03 04:38 
also Filemon kriegt das über einen sys Treiber mit.
Das mit den Listboxen ist zu langsam, ich brauchs am besten in Echtzeit.
Windows schickt zwar ne Menge Messages, aber keine die das Dateisystem betreffen. Jedenfalls nicht automatisch, vielleicht muss man ja vorher nen Api-Befehl senden. Aber welchen?

...irgendwie muss es doch gehen...

tschö,
Matze
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: So 05.01.03 11:46 
im Entwickler stand mal sowas wie das zu machen ist, kann aber sein, dass das Beispielprogi für C++ ist schau einfach mal im Archiv nach, müsste ungefähr die jan Ausgabe sein ich hab sie grad nicht zur hand...

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: So 05.01.03 12:43 
wenn eine lösung gefunden wird, wäre ich sehr glücklich, wenn ihr die hier schreibt oder ein tut oder so was draus macht !!!

_________________
In the beginning was the word.
And the word was content-type: text/plain.
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: So 05.01.03 20:00 
hab mich getäuscht, war Toolbox 1/01 auf Seite 42/43 Artikel >>Big Brother<< für Verzeichnisse, ihr habt richtig geraten, es geht (wie auch anders) mit der Win-Api aber eins sag ich gleich, simpel iss es nicht :P

und: die funktion sagt nur, dass sich was geändert hat, aber leider nicht was, das muss man dann schon selber rausfinden....

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Di 28.01.03 18:45 
also bei den ABFs kompos ( www.abfsoftware.com/...omponents/index.html FolderMonitor) gibts ne kompo, die sagt dir, wenn eine Änderung in einem Ordner erfolgt ist. aber den Dateinamen bekommt man nicht zurück !!!
oder ich bin nur zu blöd dazu ;-)

_________________
In the beginning was the word.
And the word was content-type: text/plain.
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Di 28.01.03 21:05 
werde ich mal testen, weil ich suche auch noch einer möglichkeit;)

_________________
MFG
Michael Springwald, "kann kein englisch...."