Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Herausfinden, wann sich ein Verzeichnis ändert (https://www.delphipraxis.net/48212-herausfinden-wann-sich-ein-verzeichnis-aendert.html)

Catbytes 22. Jun 2005 09:28


Herausfinden, wann sich ein Verzeichnis ändert
 
Hallo,

für ein Projekt muß ich wissen, was bei einem bestimmten Programm alles auf der Platte passiert.

Dazu habe ich mir mal FindFirstChangeNotification & Co. angeschaut.

Ist ja alles schön und gut, nur liefert mir das ganze immer nur Infos, daß was geändert wurde, nicht aber wo genau.

Ich bräuchte quasi sowas:

1. Scanne C:\ + SubDirs
2. Bei Änderung sag mir wo (Verzeichnis+Datei) und was (geändert, angelegt, gelöscht etc.) passiert ist.

Kann mir jemand helfen?

DP-Maintenance 22. Jun 2005 09:48

DP-Maintenance
 
Dieses Thema wurde von "alcaeus" von "Object-Pascal / Delphi-Language" nach "Windows API / MS.NET Framework API" verschoben.
*hust* Ist eine Frage zur WinAPI *hust*

Basilikum 22. Jun 2005 10:17

Re: Herausfinden, wann sich ein Verzeichnis ändert
 
schau Dir mal diese API an: MSDN-Library durchsuchenReadDirectoryChangesW

Catbytes 22. Jun 2005 11:06

Re: Herausfinden, wann sich ein Verzeichnis ändert
 
Zitat:

Zitat von Basilikum
schau Dir mal diese API an: MSDN-Library durchsuchenReadDirectoryChangesW

Hmmmmm - sorry: ich erwähnte nicht, daß es mit allen Win-Betriebssystemen gehen sollte.

ReadDirectoryChangesW ist IMHO nur für NT und Konsorten.

Any other ideas?

sakura 22. Jun 2005 11:13

Re: Herausfinden, wann sich ein Verzeichnis ändert
 
Der Artikel How To Detect File System Changes under Windows NT auf MSDN erklärt es recht gut. Allerdings hat die Funktion MSDN-Library durchsuchenFindFirstChangeNotification von Windows-Seite einen Bug, wenn mehrere Programme das gleiche Verzeichnis über das Netzwerk beobachten...

...:cat:...

Christian Seehase 22. Jun 2005 18:47

Re: Herausfinden, wann sich ein Verzeichnis ändert
 
Moin Catbytes,

wenn es unter allen Windows-Versionen laufen soll, wirst Du nicht umhinkommen, FindFirstChange... zu verwenden, und die Unterschiede selber zu ermitteln.

Catbytes 23. Jun 2005 02:14

Re: Herausfinden, wann sich ein Verzeichnis ändert
 
Zitat:

Zitat von Christian Seehase
wenn es unter allen Windows-Versionen laufen soll, wirst Du nicht umhinkommen, FindFirstChange... zu verwenden, und die Unterschiede selber zu ermitteln.

Oje - auf der Platte sind ca. 3 Mio. Dateien :shock:

Da werd' ich mir wohl was einfallen lassen müssen :gruebel:

BrunoT 23. Jun 2005 06:11

Re: Herausfinden, wann sich ein Verzeichnis ändert
 
Hey Catbytes,

etwas ungewöhnlich:
dir \ /n/s >datei1.txt

später

dir \ /n/s >datei2.txt

und vergleichen. vieleicht lässt sich das in Delphi nachvollziehen.

mfg

BrunoT

runger 23. Jun 2005 08:10

Re: Herausfinden, wann sich ein Verzeichnis ändert
 
Hallo BrunoT,

jemand aus der alten Schule, hätt ich auch so gemacht. Geht ohne weiteres in Delphi zu realisieren.

Rainer

mh166 23. Jun 2005 15:29

Re: Herausfinden, wann sich ein Verzeichnis ändert
 
Hi. Ich hab hier was gefunden. Sollte das gewünschte Ergebnis bringen (glaub ich... habs nur überflogen). Der Source is zwar AFAIK in C, aber vllt. hilft dir ja jemand beim übersetzen, falls du damit nich klar kommen solltest.

mfg, mh166

PS: Und wieder einmal hat mir der SessionSaver meine Tabs samt Formular-Inhalt gerettet! :spin:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr.

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