gpt4 book ai didi

Delphi 等待文件复制过程完成

转载 作者:行者123 更新时间:2023-12-03 14:54:31 25 4
gpt4 key购买 nike

我有一个线程,它使用 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) ;

我的问题是这样的:有没有办法检测文件何时被完全复制,或者我是否只是等到文件大小或上次修改时间自上次检查以来没有更改?

最佳答案

要确定文件传输是否完成,请先检查您是否可以获得独占访问权限。

  FileHandle := FileOpen(FileName, fmOpenRead or fmShareExclusive);
if FileHandle > 0 then
{valid file handle}

关于Delphi 等待文件复制过程完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6537368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com