| |
|
|
|
Beschreibung:
FindFirstChangeNotification erstellt ein „Änderungshandle’ mit dem Änderungen in einem Ordner überwacht werden können.
Deklaration:
DEF @FindFirstChangeNotification(3) !kernel32,FindFirstChangeNotificationA
Parameter:
1.Parameter: Adresse eines Strings oder Bereichsvariable mit einem String, der den Ordner enthält, der auf Änderungen überwacht werden soll. 2.Parameter: Ein Flag der angibt, ob auch die Unterordner überwacht werden sollen. => -0 = keine Unterordner überwachen -1 = Unterordner überwachen 3.Parameter: Kombinationsflag der angibt, welche Änderungen überwacht werden sollen.=> -$1 = (FILE_NOTIFY_CHANGE_FILE_NAME) Namensänderungen von Dateien werden überwacht. -$2 = (FILE_NOTIFY_CHANGE_DIR_NAME) Namensänderungen von Ordnern werden überwacht. -$4 = (FILE_NOTIFY_CHANGE_ATTRIBUTES) Die Änderung von Datei- und Ordnerattributen wird überwacht. -$8 = (FILE_NOTIFY_CHANGE_SIZE) Größenänderungen werden überwacht. -$10 = (FILE_NOTIFY_CHANGE_LAST_WRITE) Schreibzugriffe werden überwacht. -$100 = (FILE_NOTIFY_CHANGE_SECURITY) Eine Änderung der Sicherheitsattribute werden überwacht. Dieser Flag darf nur unter NT-basierten Systemen verwendet werden.
Rückgabewert:
Bei Erfolg das Handle, das bei einer Änderung zurückgegeben wird. Bei einem Fehler –1.
Beispiele:
KompilierenMarkierenSeparierenDEF @FindFirstChangeNotification(3) !kernel32,FindFirstChangeNotificationA
DEF @WaitForSingleObject(2) !Kernel32,WaitForSingleObject
DEF @FindNextChangeNotification(1) Kernel32,FindNextChangeNotification
DEF @FindCloseChangeNotification(1) Kernel32,FindCloseChangeNotification
Declare Change_Pfad$,Change_Handle&,Change_Notify&
Windowstyle 31+512
Windowtitle Änderung eines Orners
Window 0,0-640,440
LET Change_Pfad$=@ChooseDir$(Bitte einen Orner zum Überwachen wählen:)
IF Change_Pfad$<>
Let Change_Handle&=@FindFirstChangeNotification(@ADDR(Change_Pfad$),1,$1 | $2 | $4 | $8)
Let Change_Notify&=-1
Whilenot @or(Change_Notify&=0,%menuitem=-2)
Let Change_Notify&=@WaitForSingleObject(Change_Handle&,500)
@FindNextChangeNotification(Change_Handle&)
wend
IF %MENUITEM<>-2
@Messagebox(In Pfad +Change_Pfad$+ gab es Änderungen! Eine neue Sicherung muß durchgeführt werden!,Hinweis,64+4096)
endif
@FindCloseChangeNotification(Change_Handle&)
endif
Ordner Verzeichnis Unterordner Verzeichnisse überwachen Änderungen Änderung ändern benachrichtigen Benachrichtigung
|
|
|
| |
|
|