Подскажите пожалуйста, как реализовать (желательно с примером), следующую задачу:
Надо узнать факт создания или изменения файла в определенной директории и во всех директориях в нее вложенных и чтобы это работало и под 9x и XP.
И чтобы механизм возвращал путь и имя файла с которым произошли изменения или который создался, а так же показывал что это новый или измененный файл.
ReadDirectoryChangesW работает т.к. надо не но не работает под 9х
FindFirstChangeNotification работает и там и там, но не возвращает имя файла.
RxFolderMonitor тоже к сожалению не возвращает имя файла.
Структура директорий примерно такая:
root
— примерно 20 вложенных каталогов
--- 1 вложенный каталог
------ 10 вложенных каталогов
И в каждой конечной директории до 1000 файлов.
Здравствуйте, Аноним, Вы писали:
А>Подскажите пожалуйста, как реализовать (желательно с примером), следующую задачу: А>Надо узнать факт создания или изменения файла в определенной директории и во всех директориях в нее вложенных и чтобы это работало и под 9x и XP. А>И чтобы механизм возвращал путь и имя файла с которым произошли изменения или который создался, а так же показывал что это новый или измененный файл.
А>ReadDirectoryChangesW работает т.к. надо не но не работает под 9х А>FindFirstChangeNotification работает и там и там, но не возвращает имя файла. А>RxFolderMonitor тоже к сожалению не возвращает имя файла.
А>Структура директорий примерно такая: А>root А> — примерно 20 вложенных каталогов А> --- 1 вложенный каталог А> ------ 10 вложенных каталогов А>И в каждой конечной директории до 1000 файлов.
Вижу всего три варианта:
1) Забить на 9x и не морочить голову
2) FindFirstChangeNotification. Предварительно составить хеши на все файлы (долгое, но одноразовое занятие). На каждое событие от subj бегать по структуре каталогов и искать различия.
3) Писать File System Filter Driver, натравливать его на рутовую папку и мониторить изменения.
Забить на 9х невозможно, т.к. задача стоит именно чтобы механизм работал под ней.
проблема состоит в том, что файлики обновляются скажем раз в 3-10 секунд и пробегать постоянно медленно.
А>>Подскажите пожалуйста, как реализовать (желательно с примером), следующую задачу: А>>Надо узнать факт создания или изменения файла в определенной директории и во всех директориях в нее вложенных и чтобы это работало и под 9x и XP. А>>И чтобы механизм возвращал путь и имя файла с которым произошли изменения или который создался, а так же показывал что это новый или измененный файл.
А>>ReadDirectoryChangesW работает т.к. надо не но не работает под 9х А>>FindFirstChangeNotification работает и там и там, но не возвращает имя файла. А>>RxFolderMonitor тоже к сожалению не возвращает имя файла.
А>>Структура директорий примерно такая: А>>root А>> — примерно 20 вложенных каталогов А>> --- 1 вложенный каталог А>> ------ 10 вложенных каталогов А>>И в каждой конечной директории до 1000 файлов.
_>Вижу всего три варианта: _>1) Забить на 9x и не морочить голову _>2) FindFirstChangeNotification. Предварительно составить хеши на все файлы (долгое, но одноразовое занятие). На каждое событие от subj бегать по структуре каталогов и искать различия. _>3) Писать File System Filter Driver, натравливать его на рутовую папку и мониторить изменения.
Здравствуйте, fenixaz, Вы писали:
F>Забить на 9х невозможно, т.к. задача стоит именно чтобы механизм работал под ней. F>проблема состоит в том, что файлики обновляются скажем раз в 3-10 секунд и пробегать постоянно медленно.
3) Писать File System Filter Driver, натравливать его на рутовую папку и мониторить изменения.
Re[4]: факт создания или изменения файла
От:
Аноним
Дата:
17.03.06 00:41
Оценка:
Здравствуйте, serg_fork, Вы писали:
F>>Забить на 9х невозможно, т.к. задача стоит именно чтобы механизм работал под ней. F>>проблема состоит в том, что файлики обновляются скажем раз в 3-10 секунд и пробегать постоянно медленно.
_>3) Писать File System Filter Driver, натравливать его на рутовую папку и мониторить изменения.
Плиз поподробнее, на дельфях и под виндой с подобными задачами не сталкивался, подскажи что читать и где смотреть(если есть примеры).
Здравствуйте, <Аноним>, Вы писали:
А>Плиз поподробнее, на дельфях и под виндой с подобными задачами не сталкивался, подскажи что читать и где смотреть(если есть примеры).
RSDN@Home v.1.1.4 ORIGIN:Самый страшный вирус всегда сидит перед компьютером.
Re[5]: факт создания или изменения файла
От:
Аноним
Дата:
17.03.06 07:26
Оценка:
_>>3) Писать File System Filter Driver, натравливать его на рутовую папку и мониторить изменения.
А>Плиз поподробнее, на дельфях и под виндой с подобными задачами не сталкивался,
А не на дельфях ? Вроде SysInternalc.com FileMon отдается с исходниками на MS VC++.
На Delphi останется сделать только интерфейс к драйверу, возможно обернуть в service, чтобы не только из под Админа работало.
Re[6]: typo
От:
Аноним
Дата:
17.03.06 09:02
Оценка:
А>А не на дельфях ? Вроде SysInternalc.com FileMon отдается с исходниками на MS VC++.
Здравствуйте, <Аноним>, Вы писали:
_>>>3) Писать File System Filter Driver, натравливать его на рутовую папку и мониторить изменения.
А>>Плиз поподробнее, на дельфях и под виндой с подобными задачами не сталкивался,
А>А не на дельфях ? Вроде SysInternalc.com FileMon отдается с исходниками на MS VC++. А>На Delphi останется сделать только интерфейс к драйверу, возможно обернуть в service, чтобы не только из под Админа работало.