Цитата(lukash256 @ 25.4.2008, 02:59 ) | | занят ли файл другим процесом/потокам |
Wolfgan, CreateFile везвращает INVALID_HANDLE_VALUE не только когда файл занят. Надо еще GetLastError смотреть. 
| Код | function FileIsLocked(const AFilePath: string): Boolean; var hFile: Cardinal; begin Result := False; if FileExists(AFilePath) then begin hFile := CreateFile(PChar(AFilePath), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_ALWAYS, FILE_FLAG_WRITE_THROUGH, 0); if (hFile = HFILE_ERROR) and ((GetLastError = 32) or (GetLastError = 33)) {имен констант незнаю} then Result := True else CloseHandle(hFile); end; end;
|
|