
27.06.2012, 22:19
|
Начинающий
|
|
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
|
|
Код:
unit Timerss;
interface
procedure time1;
procedure time2;
procedure Tim1;
function AddNull(InpTime: String): String;
implementation
uses
Center,Closs, SysUtils,Controls,Windows,ShellAPI;
//#############################################################
function AddNull(InpTime: String): String;
var S: String;
begin
S := InpTime;
if Pos(':', S) - 2 <> 0 then
Result := S
else
begin
Insert('0', S, 1);
Result := S
end;
end;
function MyExitWindows(RebootParam: Longword): Boolean;
var
TTokenHd: THandle;
TTokenPvg: TTokenPrivileges;
cbtpPrevious: DWORD;
rTTokenPvg: TTokenPrivileges;
pcbtpPreviousRequired: DWORD;
tpResult: Boolean;
const
SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
tpResult := OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,
TTokenHd);
if tpResult then
begin
tpResult := LookupPrivilegeValue(nil,
SE_SHUTDOWN_NAME,
TTokenPvg.Privileges[0].Luid);
TTokenPvg.PrivilegeCount := 1;
TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
cbtpPrevious := SizeOf(rTTokenPvg);
pcbtpPreviousRequired := 0;
if tpResult then
Windows.AdjustTokenPrivileges(TTokenHd,
False,
TTokenPvg,
cbtpPrevious,
rTTokenPvg,
pcbtpPreviousRequired);
end;
end;
Result := ExitWindowsEx(RebootParam, 0);
end;
procedure Tim1;
begin
chas := StrToTime('00:00:00');
sec:= StrToTime('0:0:1');
end;
procedure time1;
begin
Form1.Timer1.Enabled:=True;
Form1.Panel26.Caption:=FormatDateTime('hh:nn:ss', Time);
end;
procedure time2;
begin
chas:=Chas-sec;
Form1.Panel27.Caption:=AddNull(TimeToStr(Chas));
Form2.Panel1.Caption :='до включения'+' '+AddNull(TimeToStr(Chas))+' сек';
if TimeToStr(Chas)='0:00:00' then
begin
Form1.Timer2.Enabled:=False ;
MyExitWindows(EWX_POWEROFF or EWX_FORCE);
end
else
if TimeToStr(Chas)='0:00:30' then
begin
PostMessage(Form1.Handle,WM_SYSCOMMAND, SC_MINIMIZE, 1);
if (not Assigned(Form2)) then // проверка существования Формы (если нет, то
Form2:=TForm2.Create(Self); // создание Формы)
Form2.Show; // (или Form2.ShowModal) показ Формы ; }
end;
end;
end.
именно Form1 нужно или имя pas если pas то да
Center
|