Deutsch
Quelltexte/ Codesnippets

Ordner Permanent Verzeichnisse änderungen überwa

 

KompilierenMarkierenSeparieren
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
 
15.07.2007  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.311 Betrachtungen

Unbenanntvor 0 min.
Thomas Freier26.10.2013
Profanet26.01.2013
Juergen Baier15.01.2012
Klaus Ernst07.03.2011

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie