ReadDirectoryChangesW loest mehrfach trigger aus...
-
Hallo zusammen!
Ich benutze grad ReadDirectoryChangesW zum überwachen eines Ordners. Wenn ich dort jedoch eine datei z.B. kopiert, wird gleich 2 mal die funktion im handler ausgeführt. keine ahnung warum. Ich verwende folgende notify parameter:
FILE_NOTIFY_CHANGE_LAST_WRITE
FILE_NOTIFY_CHANGE_CREATIONkomisch das ganze!
wenn ich CREATION raus nehme, wird es trotzdem zwei mal ausgelöst. bin total überfragt, warum LAST_WRITE zwei mal triggert, wenn ich eine datei änder oder kopier. mach ich was falsch?
LG
-
Wir brauchen mehr Code...

-
geht klar

class CMyDirectoryChangeHandler : public CDirectoryChangeHandler { public: CMyDirectoryChangeHandler(){} virtual ~CMyDirectoryChangeHandler(){} protected: void On_FileModified(const CString &strFileName) { cout << "geht\n"; } }; int main() { CMyDirectoryChangeHandler handler; CDirectoryChangeWatcher watcher(false); //////////////////////////////////////// DWORD dwChangeFilter = 0UL; dwChangeFilter |= FILE_NOTIFY_CHANGE_LAST_WRITE; dwChangeFilter |= FILE_NOTIFY_CHANGE_CREATION; //////////////////////////////////////// watcher.WatchDirectory(_T("C:\\POLLTEST\\EXPORT1"), dwChangeFilter, &handler, TRUE, //<-- watch sub directories? NULL, //<-- Include Filter NULL); //<-- Exclude Filter while(1){} }leider sehr unübersichtlich. ich verwende einen wrapper den ich ausm netz hab. der verwendet wiederrum die winapi funktion. ich selbst sprech sie aber leider net an.