Re: факт создания или изменения файла
От: serg_fork  
Дата: 15.03.06 06:04
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>Подскажите пожалуйста, как реализовать (желательно с примером), следующую задачу:

А>Надо узнать факт создания или изменения файла в определенной директории и во всех директориях в нее вложенных и чтобы это работало и под 9x и XP.
А>И чтобы механизм возвращал путь и имя файла с которым произошли изменения или который создался, а так же показывал что это новый или измененный файл.

А>ReadDirectoryChangesW работает т.к. надо не но не работает под 9х

А>FindFirstChangeNotification работает и там и там, но не возвращает имя файла.
А>RxFolderMonitor тоже к сожалению не возвращает имя файла.

А>Структура директорий примерно такая:

А>root
А> — примерно 20 вложенных каталогов
А> --- 1 вложенный каталог
А> ------ 10 вложенных каталогов
А>И в каждой конечной директории до 1000 файлов.

Вижу всего три варианта:
1) Забить на 9x и не морочить голову
2) FindFirstChangeNotification. Предварительно составить хеши на все файлы (долгое, но одноразовое занятие). На каждое событие от subj бегать по структуре каталогов и искать различия.
3) Писать File System Filter Driver, натравливать его на рутовую папку и мониторить изменения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.