СообЧа > База Знаний > Программирование > Delphi

Вопрос

Как я могу узнать, что файл (любого типа) открыт каким-либо приложением?

Ответ

Далеко не самый изящный вариант, но…

procedure TForm1.Button1Click(Sender: TObject);
var F: TextFile;
begin AssignFile(F, '1.exe');
{$I-} Append(F);
if IOResult = 0 then begin ShowMessage('Файл свободен');
CloseFile(F);
end
else ShowMessage('Файл занят');
{$I+}
end;


Здесь производится попытка открыть файл для записи в конец. Сам файл не изменяется, но если он уже занят, то эта попытка вызовет ошибку.

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация