Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Операционные системы
>
Windows
> Тема:
Объекты файловой системы
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Объекты файловой системы (Прочитано 9071 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PSD
Главный специалист
Offline
Пол:
Объекты файловой системы
«
:
17-09-2004 07:04 »
Хочу реализовать следующу вешь, чтоб программа сидящая в трее
отлавливала обращения к конкретной папке на диске и если пользователь копирует туда фалы и или папки по окончании копирования выполняла над добавлеными файлами нужные мне дествия например вычисляла контрольную сумму.
Можно конечно переодически сверять реальное содержимое папки с результатами последней проверки ... но я гдето читал что есть более элегантное решение , что можно попросить ядро NT уведомлять об обрашении к папке диску или файлу.
Вопросы
1. Можно попроить ядро NT уведомлять о обращении к обектам файловой ситемы?
2. Как это сделать?
Записан
Да да нет нет все остальное от лукавого.
Серж
Гость
Объекты файловой системы
«
Ответ #1 :
17-09-2004 12:14 »
PSD
,
есть набор функций API
FindFirstChangeNotification,
FindNextChangeNotification,
FindCloseChangeNotification
Записан
Alanir Alonedaw
Гость
Объекты файловой системы
«
Ответ #2 :
18-09-2004 08:18 »
Интересная тема.
Серж
А можно подробней?
Записан
Серж
Гость
Объекты файловой системы
«
Ответ #3 :
19-09-2004 14:07 »
К сожалению, у меня нет под рукой текста, думаю его легко найти в MSDN.
Смысл в том, что функция FindFirstChangeNotification имеет одним из параметров имя каталога и на выходе дает handle, который отслеживается в дальнейшем в отдельном потоке какой-нибудь функцией ожидания, например
WaitForSingleObject. Функция сигналит, когда возникает изменение в каталоге, тип которого задан в функции FindFirstChangeNotification.
Записан
Серж
Гость
Объекты файловой системы
«
Ответ #4 :
20-09-2004 09:34 »
Прочитал еще о двух способах отслеживания измений, которые работают только под Windows NT, а второй только под NTFS:
1. Функция ReadDirectoryChangesW, которую можно вызывать синхронно или асинхронно, и которая содержит информацию об изменениях.
2. DeviceIOControl c управляющим кодом FSCTL_CREATE_USN_JOURNAL.
NTFS после этого регистрирует информацию об изменениях в собственном внутреннем журнале. Читается эта информация тем же способом с помощью кода FSCTL_QUERY_USN_JOURNAL.
Источник информации Д.Соломон, М.Руссинович. Внутренне устройство Microsoft Windows 2000. гл.12, стр. 587 (русского издания).
Этими способами я не пользовался, а ранее описанный успешно использовал в проектах.
Записан
Кот
Гость
Объекты файловой системы
«
Ответ #5 :
24-09-2004 10:41 »
http://www.codenet.ru/progr/bcb/cfolders.php
вот здесь примерчик лежит посмотри может как раз то что тебе надо
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Операционные системы
>
Windows
> Тема:
Объекты файловой системы
Загружается...