![]() |
|
|
|
|
#1
|
||||
|
||||
|
Код:
program BackTime; {$APPTYPE CONSOLE}
uses
ShellApi,
Windows,
SysUtils;
var Today:TDateTime;
bkTime, bkProgram: String;
Interval, j: SmallInt;
begin
Today:=Date; // фиксируем реальную дату
if ParamCount<>3
then
begin // если параметры не заданы то печатаем подсказку
WriteLn(output,'BackTime (c)HackerEyes@mail.ru');
WriteLn(output,'---------------------');
WriteLn(output,'BackTime.exe T I P');
WriteLn(output,'T - Date;');
WriteLn(output,'I - Interval, [sec];');
WriteLn(output,'P - Program');
WriteLn(output,'---------------------');
WriteLn(output,'Example:');
WriteLn(output,'BackTime.exe 04.01.2000 15 "C:\Program Files\program.exe"');
end
else
begin
// 1й параметр - дата
bkTime:=ParamStr(1);
// 2й параметр - интервал в секундах
Interval:=StrToInt(ParamStr(2));
// 3й параметр - полный путь к программе
bkProgram:=ParamStr(3);
// установка необходимой даты
WinExec(PChar('cmd /c date '+bkTime), SW_HIDE);
// запуск программы
ShellExecute(0, 'open', PChar(bkProgram), nil, nil, SW_SHOW);
j:=0;
while j<Interval do
begin // задержка в секундах
sleep(1000);
inc(j);
end;
// восстанавливаем реальную дату
WinExec(PChar('cmd /c date '+DateToStr(Today)), SW_HIDE);
end
end. |
|
#2
|
||||
|
||||
|
А точнее, что не работает? Грубых ошибок вроде не видно.
|
|
#3
|
||||
|
||||
|
Это получается вроде как обмана программ с ограничением времени.
Запускаю ограниченую программу, а время не сбрасывается как задумано |
|
#4
|
|||
|
|||
|
Последний раз редактировалось grigoriyi, 19.02.2010 в 06:00. |
|
#5
|
||||
|
||||
|
незнаю почему у тебя не работает как нужно, у меня всё запускается, но дату обратно не меняет..!!!
просто создал бат файл, в котором следующее: Код:
имя твоей проги.exe 04.01.2000 15 "C:\program.exe" я сам делал подобную прогу, но исходник утерян, остался тока exe'ник если интересно. можешь его тут глянуть: примерчик Последний раз редактировалось RusMaXXX, 19.01.2010 в 17:37. |