Доступ к заблокированным файлам
Автор: http://sunsb.dax.ru
Windows блокирует ПОЛНЫЙ доступ ко многим файлам, которые
в данный момент использует система.
К таким файлам относятся выполняемые программы, используемые
библиотеки, шрифты и т.д. При поиске вирусов, к примеру,
эти файлы представляют наибольший интерес.
Обдурить Windows и получить доступ к этим файлам крайне просто
- нужно открывать их в режиме ReadOnly.
В Delphi за режим открытия файлов отвечает системная переменная
FileMode. Boзможные значения:
0 Read only
1 Write only
2 Read/Write
По умолчанию FileMode==2, поэтому открытие заблокированых файлов
нарывается на неприятность.
При доступе ReadOnly доступ блокируется только д
так что этот случай приходится контролировать отдельно.
В общем случае, если Вы хотите лазить по всем файлам подряд
- применима следующая последовательность действий.
program pfileMode;
{$APPTYPE CONSOLE}
uses SysUtils;
var
oldFM: integer;
var
SR: TSearchRec;
begin
if FindFirst('C:\*.*', faAnyFile, SR) = 0 then
repeat
try
oldFM := FileMode;
FileMode := 0;
WriteLn(SR.Name);
//работаем с файлом
finally
FileMode := oldFM;
end;
until FindNext(SR) < > 0;
FindClose(SR);
readLn;
end.
|
|