Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Вниз

факт создания или изменения файла   Найти похожие ветки 

 
fenixaz ©   (2006-03-15 07:58) [0]

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

ReadDirectoryChangesW работает т.к. надо не но не работает под 9х
FindFirstChangeNotification работает и там и там, но не возвращает имя файла.
RxFolderMonitor тоже к сожалению не возвращает имя файла.

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


 
clickmaker ©   (2006-03-15 10:02) [1]


> И чтобы механизм возвращал путь и имя файла с которым произошли
> изменения

универсального решения для всех ОС походу нет.. Разве что вести базу файлов, а потом шерстить папку FindFirstFile/NextFile на предмет изменений


 
fenixaz ©   (2006-03-16 02:58) [2]

Хорошо, надо под 9х (задача так стоит), шерстить всю папку мне кажется долго, т.к. файлы обновляются каждые 3-10 секунд.


 
Ihor Osov'yak ©   (2006-03-16 03:24) [3]

драйвер-фильтр файловой системы. Увы, совершенно разные реализации для 9x и NT-XP..  Возможна только унификация на уровне интерфейса с win32, а то и немного выше - на уровне классса, взаимодействующем с фильтром.

www.sysinternals.com, filemon как пример готового изделия. На диске к соотв. книге Соломона - Руссиновича есть исходники драйвера, не самой последней версии..

увы, не делфи.. я имею ввиду драйвер, оболочку, работающую на уровне win32 можно и на делфи..



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.034 c
4-1142237804
Arazel
2006-03-13 11:16
2006.06.04
Надо узнать в какое время вчера ОС завершилось?


15-1147068298
Некто
2006-05-08 10:04
2006.06.04
CASE-средство визуального проектирования баз данных


2-1147894133
Dstr
2006-05-17 23:28
2006.06.04
PopMenu


2-1147666221
Rubey
2006-05-15 08:10
2006.06.04
Обновление главной формы


2-1147843993
roman_ln
2006-05-17 09:33
2006.06.04
Turbo Pascal 7.0 редактор





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский