На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Win Api / Как отслеживать изменения файловой системы? Сделать домашней страницей Добавить в избранное Написать писмо

Как отслеживать изменения файловой системы?


В 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 с демо-программкой здесь.




Источник: sources.ru

Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz