В API есть несколько функций, позволяющих осуществлять контроль за файловой системой. Так же необходимо подключить компонент TDirWatcher, который содержиться в демонстрационно проекте.
Следующий цикл показывает, как можно получать сообщения о изменениях файловой системы:
var ChangeHandle: THandle; ... ChangeHandle:= FindFirstChangeNotification(PChar(WatchPath), false, hNotifyFilter); if ChangeHandle <> INVALID_HANDLE_VALUE then while true do begin if WaitForSingleObject(ChangeHandle,500) = WAIT_OBJECT_0 then begin // Событие... end; FindNextChangeNotification(ChangeHandle); end;
Компонент TDirWatcher http://www.sources.ru/delphi/DirWatcher.zip, используемый в этом цикле, запускается в собственном потоке. При изменениях в указанной дирректории или поддирректории возникает событие OnChange.