Как определить, нужны ли права администратора для изменения файла или нет?
У меня есть программа на Delphi, работающая с файлами. Использую я функцию AssignFile(). Проблема в том, что файлы на системном разделе требуют права администратора для их изменения. Из-за этого программа выдает ошибку. Можно ли как-то заранее узнавать, какие файлы требуют права администратора, а какие нет?
Ответы (1 шт):
Автор решения: Alex R.
→ Ссылка
Ваша программа может запускаться от имени администратора и тогда никакой ошибки не будет.
Проще всего отлавливать ошибку ввода/выводы, директива компилятора $IoChecks.
procedure TTestForm.Button1Click(Sender: TObject);
var
vDir: string;
vFile : TextFile;
begin
vDir := 'c:\Program Files (x86)\Test.txt';
AssignFile(vFile, vDir);
{$IoChecks Off}
Rewrite(vFile);
{$IoChecks On}
if IOResult = 0 then
begin
// Запись нескольких известных слов в этот файл
WriteLn(vFile, 'Hello');
WriteLn(vFile, 'World');
// Закрытие файла
CloseFile(vFile);
end
else
Application.MessageBox('Не срослось', 'Test');
end;