ВУЗ:
Составители:
14
WriteInteger('MaxRun', N)
end;
Free
end;
if N>0 then
begin
Application.CreateForm(TForm1, Form1);
Form1.Label2.Caption := IntToStr(N-1);
Application.Run;
end else
ShowMessage('Исчерпано максимальное количество запусков пробной версии
программы')
end.
При использовании защит, основанных на контроле даты выполнения или
контроле количества запусков программы, более перспективным является
хранение контрольных параметров в замаскированной форме в файлах,
выбранных самим разработчиком и хранимых в произвольном месте (например,
среди вспомогательных файлов самого приложения). При подобном подходе
актуальной становится маскировка обращений к файлам, в которых хранятся
текущие значения контрольных параметров. Общеизвестно, что при любом
изменении содержимого файла операционная система автоматически
корректирует внешние характеристики файла, такие, как длина, время и дата
создания, которые хранятся в файловой системе.
Изменение даты и времени файла
Использование процедуры FileSetDate(Handle: Integer; newDate: TDateTime);
Handle – указатель (дескриптор) обрабатываемого файла, может быть определен с
помощью
- функции API-Windows FileOpen, например
var Handle: Integer;
. . . . . . . . .
Handle := FileOpen(filename, fmOpenReadWrite);
FileSetDate(Handle, Datetimetofiledate(newtime));
FileClose(Handle);
- свойства Handle класса F
var TheFile: file;
T ileRec, например
. . . . . . . . .
AssignFile(TheFile, FileName);
Reset(TheFile);
FileSetDate(TFileRec(TheFile).Handle, DateTimeToFileDate(newDate));
Close(TheFile);
Использование процедуры SetFileTime
procedure ChangeDate(FileName: string);
var i: TDate;
Handle: Integer;
f: TFileTime;
s: TSystemTime;
begin
Handle := CreateFile(PChar(FileName), $0100, 0, nil, OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS, 0);
14 WriteInteger('MaxRun', N) end; Free end; if N>0 then begin Application.CreateForm(TForm1, Form1); Form1.Label2.Caption := IntToStr(N-1); Application.Run; end else ShowMessage('Исчерпано максимальное количество запусков пробной версии программы') end. При использовании защит, основанных на контроле даты выполнения или контроле количества запусков программы, более перспективным является хранение контрольных параметров в замаскированной форме в файлах, выбранных самим разработчиком и хранимых в произвольном месте (например, среди вспомогательных файлов самого приложения). При подобном подходе актуальной становится маскировка обращений к файлам, в которых хранятся текущие значения контрольных параметров. Общеизвестно, что при любом изменении содержимого файла операционная система автоматически корректирует внешние характеристики файла, такие, как длина, время и дата создания, которые хранятся в файловой системе. Изменение даты и времени файла Использование процедуры FileSetDate(Handle: Integer; newDate: TDateTime); Handle – указатель (дескриптор) обрабатываемого файла, может быть определен с помощью - функции API-Windows FileOpen, например var Handle: Integer; . . . . . . . . . Handle := FileOpen(filename, fmOpenReadWrite); FileSetDate(Handle, Datetimetofiledate(newtime)); FileClose(Handle); - свойства Handle класса TFileRec, например var TheFile: file; . . . . . . . . . AssignFile(TheFile, FileName); Reset(TheFile); FileSetDate(TFileRec(TheFile).Handle, DateTimeToFileDate(newDate)); Close(TheFile); Использование процедуры SetFileTime procedure ChangeDate(FileName: string); var i: TDate; Handle: Integer; f: TFileTime; s: TSystemTime; begin Handle := CreateFile(PChar(FileName), $0100, 0, nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »