Отслеживание изменений в каталоге программно - PullRequest
2 голосов
/ 15 сентября 2010

Мне нужно написать небольшое приложение, которое будет обрабатывать файлы, сохраненные в данном каталоге. Мне не нравится идея писать бесконечные циклы, таймеры и тому подобное.

Я хотел бы знать, есть ли (я бы поспорил, что он есть!) Какой-нибудь интерфейс Windows, который бы отправлял моему приложению сообщение для любого файла, сохраненного в данном каталоге.

Ответы [ 3 ]

2 голосов
/ 15 сентября 2010

ReadDirectoryChangesW нетривиально использовать правильно. Здесь есть рабочий образец . Я работал с производственным кодом, тесно связанным с этим, и не нашел лучшего примера для работы.

Обратите внимание, что существуют известные проблемы с API (по общему признанию, угловые случаи, которые могут вас не затронуть), которые описаны здесь и здесь , а также дальнейшие предложения по использованию здесь .

2 голосов
/ 23 сентября 2010

Вы также можете использовать функцию FindFirstChangeNotification.Из коллекции JEDI JVCL существует компонент с именем TJvChangeNotify, который включает эту функцию, что упрощает ее использование.

2 голосов
/ 15 сентября 2010

Функция, которую вы ищете: ReadDirectoryChangesW .

...