![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
факт создания или изменения файла [D7, Win95/98, WinXP]
fenixaz © (2006-03-15 07:58:00)Подскажите пожалуйста, как реализовать (желательно с примером), следующую задачу:
Надо узнать факт создания или изменения файла в определенной директории и во всех директориях в нее вложенных и чтобы это работало и под 9x и XP.
И чтобы механизм возвращал путь и имя файла с которым произошли изменения или который создался, а так же показывал что это новый или измененный файл.
ReadDirectoryChangesW работает т.к. надо не но не работает под 9х
FindFirstChangeNotification работает и там и там, но не возвращает имя файла.
RxFolderMonitor тоже к сожалению не возвращает имя файла.
Структура директорий примерно такая:
root
- примерно 20 вложенных каталогов
--- 1 вложенный каталог
------ 10 вложенных каталогов
И в каждой конечной директории до 1000 файлов.
Ihor Osov'yak (2006-03-16 03:24:00) [1]драйвер-фильтр файловой системы. Увы, совершенно разные реализации для 9x и NT-XP.. Возможна только унификация на уровне интерфейса с win32, а то и немного выше - на уровне классса, взаимодействующем с фильтром.
www.sysinternals.com, filemon как пример готового изделия. На диске к соотв. книге Соломона - Руссиновича есть исходники драйвера, не самой последней версии..
увы, не делфи.. я имею ввиду драйвер, оболочку, работающую на уровне win32 можно и на делфи..
fenixaz (2006-03-16 02:58:00) [2]Хорошо, надо под 9х (задача так стоит), шерстить всю папку мне кажется долго, т.к. файлы обновляются каждые 3-10 секунд.
clickmaker (2006-03-15 10:02:00) [3]
> И чтобы механизм возвращал путь и имя файла с которым произошли
> изменения
универсального решения для всех ОС походу нет.. Разве что вести базу файлов, а потом шерстить папку FindFirstFile/NextFile на предмет изменений