![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| jnb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 4.10.2006 Репутация: нет Всего: 1 |
Привет.
Ставлю папку на мониторинг функцией ReadDirectoryChangesW. Жду ивента. Когда файл в папке изменяется, ивент устанавливается и я могу получить имя файла. Все происходит в цикле, поэтому опять запускается ReadDirectoryChangesW. И тут же сообщает о изменении файла. Хотя ничего не менялось. Вобщем о изменении одного файла функция извещает дважды. Кто-нибудь сталкивался с такой проблемой? Как она решается? |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
|
|||
|
||||
| jnb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 4.10.2006 Репутация: нет Всего: 1 |
Вот он:
|
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
хм. оно у тебя работает?!
ну да не суть... кол-во приходящих FILE_NOTIFY_CHANGE_LAST_WRITE в большей степени зависит от программы, меняющей файлы. например, файловые менеджеры и редакторы колдуют также и с установкой времени, что тоже вызывает "приход". в общем, точная схема работы этой функции не совсем понятна, но некие закономерности имеются... если не лень, можешь погуглить на предмет IRP_MJ_DIRECTORY_CONTROL:IRP_MN_NOTIFY_CHANGE_DIRECTORY... чтобы избежать "повторных" срабатываний у себя в программе используй какие-нибудь дополнительные "костыли" с таймерами, например... т.е. в течение, скажем, секунды, не отдавай "наружу" извещения, а накапливай... |
|||
|
||||
| jnb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 4.10.2006 Репутация: нет Всего: 1 |
Это был тестик. И потому я его сразу не выкладывал, так как к проблеме он отношения не имел. Вот видишь, тебе даже код не надо, что бы мне помочь Спасибо! Что-нибудь приделаю. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |