Проверка прав на запись в каталог
function IsDirectoryWritable(const Dir: String): Boolean;
var
TempFile: array[0..MAX_PATH] of Char;
begin
if GetTempFileName(PChar(Dir), 'Tmp', 0, TempFile) <> 0 then
Result := Windows.DeleteFile(TempFile)
else
Result := False;
end;
Вышепомянутая функция использует API Windows GetTempFileName. Когда 3-й параметр nUnique GetTempFileName равен нулю, Windows создает временный файл и возвращает уникальное число, которое используется для того, чтобы создать имя файла. Когда возвращаемое число не ноль, это означает, что каталог записываемый и временный файл создан успешно.
Комментарии