скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Отслеживаем изменения файловой системы



В 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.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook