Отслеживаем
изменения файловой системы
В API есть несколько функций, позволяющих
осуществлять контроль за файловой системой. Так
же необходимо подключить компонент TDirWatcher,
который содержиться в демонстрационно проекте.
Компилятор: все версии Delphi
Следующий цикл показывает, как можно получать
сообщения о изменениях файловой системы:
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, используемый в этом цикле,
запускается в собственном потоке. При изменениях
в указанной дирректории или поддирректории
возникает событие OnChange.
TDirWatcher с демо-программкой сдесь.