Entwickler-Ecke
Dateizugriff - Datei gelöscht
AXMD - Mi 26.02.03 17:09
Titel: Datei gelöscht
Hi,
ich suche für eine Art System-Dienstprogramm eine Funktion, die mich benachrichtigt, wenn eine Datei gelöscht wurde. Ich will nicht smit dem File tun - ich will nur wissen, wie der Pfad lautet - mehr nicht!
Ich glaube mich zu erinnern, dass es dazu eine Message gibt...
Wäre super, wenn mir jemand den Code (zumindest ansatzweise) schicken könnte,
AXMD
CenBells - Do 27.02.03 01:43
moin, ich habe sowas mal mit nem thread gemacht, der ein komplettes Verzeichnis auf dateiveränderungen überwacht. Wie genau der befehl jetzt lautet, weiß ich nicht mehr, such aber mal in der Win32 Api.
Gruß
Ken
Delete - Do 27.02.03 02:56
Auf
http://www.sysinternals.com/ gibt es einen FileMonitor mit Source, glaube ich. Allerdings haben die das mit einem Treiber gelöst. Und ich denke mal eine andere Möglichkleit wird es wohl nicht geben. Und damit fällt Delphi als Entwicklungsumgebung schon mal flach.
AXMD - Do 27.02.03 08:50
Hmmmm...schickt WIN keine MSGs, wenn Files gelöscht werden? Wär doch einfacher...
AXMD
Delete - Do 27.02.03 14:56
Es wäre auch einfacher, wenn du im Delphi-Editor einfach nur "mach mal" eintippen würdest. Manche Dinge erfordern eben etwas Gehirnschmalz und Arbeit. :roll:
Und warum sollte Windows eine Message schicken und an wen? Als Broadcast durch das ganze System?
AXMD - Do 27.02.03 15:23
| Zitat: |
| Als Broadcast durch das ganze System? |
Ja genau ;) wieso nicht? Windows macht viel....Sch#####
AXMD
PS.: Was macht einfach ShellChangeNotifier in D6? Wenn ich den in mein Proggy einbinde, macht der OnChange gar nix...
MSCH - Do 27.02.03 20:29
Titel: Hi
Sorry, aber für sowas braucht man keinen Treiber oder sonst irgentwas nur einen TShellChangeNotifier.
Einfach das zu überwachene Verzeichnis in TS.Root eingeben, die notwendigen Filter im Objektinspektor auswählen und das Ereignis Onchange() definieren.
Verry Simple.
Im Onchange() Verzeichnis könntest du dann via FindFirst/FindNext die entsprechenden Dateioperationen indirekt auswerten. (Dateigröße, neue Datei u.s.w).
ODER
du holst dir die Orpheus-Komponenten (mittlerweise Gratis im Netz unter
http://www.sourceForge.net) die haben einen etwas aufgebohrten Notifier im Angebot, den man auch mal deaktivieren kann.
Vorsicht: Dein code muss Thread-Sicher sein.
Grüße
MSCH
Delete - Do 27.02.03 20:34
Was ist ein TShellChangeNotifier? Eine Kompo? dann wird sie das auchmit einem Treiber machen und die Kompo dient nur dazu den Treiber anzusprechen.
MSCH - Do 27.02.03 20:54
Titel: Re
Ein TShellChangeNotfier ist eine Simple Komponente (ich hab hier D6 Enterprise) auf dem Register Beispiele.
Was und wen und wie die Funktioniert ist mir so ziemlich wurscht. Allerdings spricht sie keinen Treiber an, sondern geht irgentwann auf die Function FindFirstChangeNotification() Nettes WinAPI über.
| Zitat: |
| Auszug : The FindFirstChangeNotification function creates a change notification handle and sets up initial change notification filter conditions. A wait on a notification handle succeeds when a change matching the filter conditions occurs in the specified directory or subtree. |
Unter W31 konnte man das auch schon machen, da wars ein System-Hook und sch**-schwer zu programmieren (turbopascal f Windows).
mfg
MSCH
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!