Ich habe jetzt doch eine hinreichend funktionierende Lösung gefunden:
Delphi-Quellcode:
function TestFileToUse(const sFile : string ) : boolean;
var
hFile : THandle;
lpFileInfo : TByHandleFileInformation;
begin
Result := false;
if not FileExists(sFile) then exit; // File existiert nicht
hFile := CreateFile(pchar(sFile),
GENERIC_READ or GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL or FILE_FLAG_WRITE_THROUGH,
0);
If (hFile = INVALID_HANDLE_VALUE) then Exit; // File in Bearbeitung
GetFileInformationByHandle(hFile, lpFileInfo);
CloseHandle(hFile);
If lpFileInfo.dwFileAttributes and sysutils.faArchive = 0 then Exit; // Kein A-Flag
Result := true;
end;
Gleichzeitig wird beim Begin der Verarbeitung der Dateien das A-Flag zurückgesetzt.
Gruß Fuchtel