wie kann ich Verzeichnis überwachen?
-
Hallo zusammen,
ich würde gerne ein Thread schreiben. In diesem Thread will
ich ein bestimmtes Verzeichnis überwachen. Ein anderes Programm erstellt
ein Paar PDF-Files in diesem Verzeichnis.Wie kann ich jetzt feststellen, dass das Verzeichnis irgendwelche Files beinhaltet
und wie kann ich feststellen, dass das andere Programm schon mit der Erstellung fertig ist?Kann ich irgendwie prüfen, ob das andere Programm mit der Erstellung fertig ist?
Anschliessend will ich die Inhalte woanders kopieren.
Gibt unter C/C++ Funktionen dafür?
Vielen Dank im Voraus
-
Hallo,
so kannst du in einen odner dateien finden.
CFileFind finder; CString strWildcard(m_iFld); strWildcard += _T("\\*.*"); BOOL bWorking = finder.FindFile(strWildcard); while (bWorking) { bWorking = finder.FindNextFile(); if (finder.IsDots()) continue; if (finder.IsDirectory()) { CString str = finder.GetFileName(); //... } } finder.Close();
MFG TaccoGo
-
leonReif schrieb:
Wie kann ich jetzt feststellen, dass das Verzeichnis irgendwelche Files beinhaltet
Das geht mit PathIsDirectoryEmpty() :
BOOL bResult = PathIsDirectoryEmpty("C:\\Test\\); //Hier der Pfad zum Ordner if(bResult) //wenn bResult TRUE ist { AfxMessageBox("Ordner ist leer !"); } else { AfxMessageBox("Ordner beinhaltet Dateien !"); }
Und vergiss nicht die shlwapi.h und shlwapi.lib zu #includieren
#include "shlwapi.h" #pragma comment (lib, "shlwapi.lib")
Gruß
:: NoName ::
-
Danke Jungs
Jetzt muss ich irgendwie, ob die Datei noch von einem anderen Programm
benutzt wird!Es muss doch Möglichkeiten geben, dass man überprüfen kann, dass die Datei
nicht von einem anderen Programm blockiert wird!
-
Hab' keine ahnung wie, aber vom Ansatz her müsste die Entsprechende Datei schreibgeschützt, d.h. ein Schreibzugriff nicht möglich sein, solange das andere Prog noch darauf zugreift.
MfG
me
-
Also, Du kannst ReadDirectoryChangeW() benutzen. Mit dieser Funktion kann man feststellen, ob eine Datei verändert wurde (ob die Datei umbenannt wurde, ob die Größe geändert wurde, wann zuletzt auf diese Datei zugegriffen wurde usw.)
Die Handhabung ist allerdings ein wenig kompliziert, doch Hellsgore hat das schonmal gemacht
http://www.c-plusplus.net/forum/viewtopic.php?t=75119&highlight=neue+datei
Gruß
:: NoName ::