Français
Source/ Codesnippets

Dossier Permanent Verzeichnisse änderungen überwa

 

KompilierenMarqueSéparation
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


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

2.346 Views

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

Themeninformationen

cet Thema hat 1 participant:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie