Вопрос
Как запретить копирование конкретного файла или группы файлов?
Ответ
Можно написать прогу, которая будет постоянно сидеть в памяти и не выпускать файлы из-под своего контроля, не давая никакого доступа к ним другим программам, в том числе и копирующей. Делается это так:
var
Form1: TForm1;
fs: TFileStream; //через этот поток мы будем работать с файлом. Для нескольких файлов — несколько потоков.
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
fs:=TFileStream.Create('D:\gigi.txt', fmOpenRead, fmShareDenyNone); //вешаем ограничение. Теперь никто не будет трогать
//файл
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
fs.Free; //Снимаем ограничение.
end;
Естественно, вместо D:\gigi.txt — твой файл.
Из конференции Expert_FAQ
Copyright 2000-2004 Сообщество Чайников
Контактная информация