English
Source / code snippets

Ordner Permanent directories changes überwa

 

CompileMarkSeparation
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Verzeichnisse: Einen Ordner permanent auf Änderungen überwachen
PRFellow-Vorlage
Autor: Thomas Hölzer
Einen Ordner permanent auf Änderungen überwachen:
z.B. Dateien einfügen,löschen, speichern, Dateidatum ändern
Zum Testen bitte erst einen Ordner namens C:TEST anlegen.
Dann dieses Programm starten (>= Profan 5.0 - 32).
Bei allen Änderungen in C:TEST gibt es einen beep aus.
Die Prozessorbelastung bei dem im Beispiel eingestellten
Überwachungs-Interval von 500 Milli-Sekunden beträgt nur 2%.
Achtung: Der zu überwachende Ordner sollte unbedingt existieren!
Wird der Ordner nicht gefunden, steigt die Prozessorauslastung auf 100%!
Bitte auch Kommentar zum Beispiel genau lesen!
Def FindFirstChangeNotification(3) !KERNEL32,FindFirstChangeNotificationA
Def FindNextChangeNotification(1) !KERNEL32,FindNextChangeNotification
Def FindCloseChangeNotification(1) !KERNEL32,FindCloseChangeNotification
Def WaitForSingleObject(2) !KERNEL32,WaitForSingleObject
Declare folder#

Proc FolderSpy

    Parameters folder$,milliseconds&
    Declare hchangeobject&,exit%
    Dim folder#,Add(Len(folder$),1)
    String folder#,0=folder$

    WhileNot exit%

        Let hchangeobject&=FindFirstChangeNotification(folder#,0,1)

        If Equ(WaitForSingleObject(hchangeobject&,milliseconds&),0)

            Hier nun die Aktion, die bei einer Änderung im überwachten
            Verzeichnis ausgeführt werden soll.
            Im Beispiel ist es nur ein
            Beep

        EndIf

        FindNextChangeNotification(hchangeobject&)
        Die nächste Zeile ist nur für das TestProgramm
        Case GetFocus(endbutton%): Let exit%=1
        Case Equ(%message,2000): Let exit%=1

    Wend

    MessageBox(Add$(Add$(Die Überwachung von ,folder$), wird beendet!),Hinweis,64)
    FindCloseChangeNotification(hchangeobject&)
    Dispose folder#

EndProc

Beispiel
Das Spy-Programm muß auf jeden Fall ein Dummy-Fenster haben!!
Es darf ruhig unsichtbar oder jenseits des Bildschirms sein -
Hauptsache es kann Nachrichten empfangen und senden
Für das Beispielprogramm wurde ein Ende-Button eingefügt.
Vor Übernahme in eigene Programme muß man sich etwas anderes überlegen
Getesteter Vorschlag:
Ein Programm als Spy laufen lassen und ein
Monitorprogramm schreiben, das dieses steuert
und es mit der benutzerdefinierten Message PostMessage(handle_spy&,2000,0,0)
ordentlich beendet.
Declare endbutton%
Cls
Let endbutton%=CreateButton(%hwnd,&Ende,0,0,64,23)
FolderSpy C:TEST,500
 
07/15/07  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

2.333 Views

Untitledvor 0 min.
Thomas Freier10/26/13
Profanet01/26/13
Juergen Baier01/15/12
Klaus Ernst03/07/11

Themeninformationen

this Topic has 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie