Вопрос
Как я могу узнать, что файл (любого типа) открыт каким-либо приложением?
Ответ
Далеко не самый изящный вариант, но…
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 Сообщество Чайников
Контактная информация