Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: ReadDirectoryChangesW  (Прочитано 7664 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Kolhun
Гость
« : 01-11-2004 11:03 » new

Столкнулся с следующей проблемой при копировании файлов: Моя задача - остледить появление в указанном каталоге файла, и при его появлении переместить его в другой каталог. Я использовал функцию
ReadDirectoryChangesW в цикле

if not ReadDirectoryChangesW(hDir, lpBuf, BUF_SIZE, True,
        FILE_NOTIFY_CHANGE_FILE_NAME or  
        FILE_NOTIFY_CHANGE_LAST_WRITE or
        FILE_NOTIFY_CHANGE_SIZE, @cbReturn, nil, nil) then Break;

Как оказалось, при копировании файла в сканируемый каталог, происходит следующее:
Срабатывает событие  - Файл добавлен, потом трижды срабатывает событие файл модифицирован. Если копируется пустой файл, то событие - файл модифицирован срабатывает два раза. Я, получая событие о добалении файла в сканируемый каталог, пытаюсь его прочитать и разуметеся, безуспешно.

Вопрос - как мне определить, что файл действительно скопирован, не пользуясь левыми вариантами, а через  WinAPI?

Заранее благодарен Всем, желающим помочь.
Записан
Серж
Гость
« Ответ #1 : 01-11-2004 12:13 » 

Kolhun, например, GetFileSize отличит пустой файл от непустого.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines