Вниз
Скачать: CL | DM;

Как проверить занят ли файл или нет?   Найти похожие ветки 

← →
Jack ©   (2003-08-11 14:52) [0]

Монитор каталогов должн при появлении файлов передовать их на обработку. Но при использовании функций FindFirstChangeNotification/FindNextChangeNotification невозможно определить событие, когда файл полностью скопирован в директорию. Как можно решить эту проблему?


← →
panov ©   (2003-08-11 15:06) [1]

FILE_NOTIFY_CHANGE_LAST_WRITE
Any change to the last write-time of files in the watched directory or subtree causes a change notification wait operation to return. The operating system detects a change to the last write-time only when the file is written to the disk. For operating systems that use extensive caching, detection occurs only when the cache is sufficiently flushed.

Пробовал?


← →
Jack ©   (2003-08-11 15:55) [2]

Не правильно описал ситуацию. В директорию может копироваться несколько файлов одновременно и из разных источников. GhangeNotification не возвращает имени файла - источника события. Поэтому просматриваю каталог с помощью FindFirst/FindNext и получаю список файлов, среди которых есть еще открытые. Как открытые файлы можно исключить из списка?


← →
panov ©   (2003-08-11 16:32) [3]

К сожалению, таким способом не сможешь определит завершение записи файла.

Попробуй воспользоваться ReadDirectoryChangesW, но только в ОС не ниже WinNT...


← →
panov ©   (2003-08-11 16:36) [4]

Можно пытаться открывать файл для проверки в эксклюзивном режиме, но это не 100% метод.


← →
Jack ©   (2003-08-11 16:52) [5]

В том то и дело... Программа будет работать, вероятнее всего, под Win98.
Ну чтож, будем пробовать...


← →
Verg ©   (2003-08-12 08:56) [6]

Сначала файл должен быть ненулевой длины, а затем
попытка переименовать файл самого в себя:

if renamefile(fname, fname) then файл записан полностью else нет.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
1-51197
Alek Silverstone
2003-10-02 14:37
2003.10.16
CLX + цвет + TMemo


1-51294
Ольга
2003-10-06 12:29
2003.10.16
адрес exe-шника


14-51509
ИМХО
2003-09-26 23:55
2003.10.16
На сотовый!


4-51549
tovSuhov
2003-08-12 17:28
2003.10.16
Получение иконки, ассоциированной с данным расширением


1-51293
Peter
2003-10-06 15:39
2003.10.16
Есть смелые????




   Наверх