У меня есть тема, которая использует ReadDirectoryChangesW
, чтобы уведомлять меня, когда файл добавляется или удаляется в папке.
Для каждого нового изображения я открываю файл и создаю миниатюру изображения.Однако может показаться, что я получаю уведомление до того, как файл будет полностью скопирован в целевую папку, и в этом случае я получу только частичный эскиз.(Файлы копируются из удаленных мест на центральный сервер, и в пиковое время сеть может работать медленно.)
Я проверяю, используется ли файл, но, похоже, это не работает с файлами изображений.
HFileRes := CreateFile(pchar(Filename), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0) ;
Result := (HFileRes = INVALID_HANDLE_VALUE);
if (not Result) then
CloseHandle(HFileRes) ;
У меня такой вопрос: есть ли способ определить, когда файл полностью скопирован, или просто подождать, пока размер файла или время последнего изменения не изменились с момента последней проверки?