第二天的关机程序实现不了
有个朋友拜托我写了一个程序,第二天的凌晨2点关机的,可是第二天的时候我去单位的机房一看,居然没有关机,下面是代码,白天的时候成功了,GOOGLE和BAIDU了,也没有什么好的结果,哎~```程序代码:
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; Timer2: TTimer; procedure Timer1Timer(Sender: TObject); procedure Timer2Timer(Sender: TObject); private procedure GetPrivilege; { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.GetPrivilege; var NewState: TTokenPrivileges; lpLuid: Int64; ReturnLength: DWord; ToKenHandle: Cardinal; begin OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES OR TOKEN_ALL_ACCESS OR STANDARD_RIGHTS_REQUIRED OR TOKEN_QUERY,ToKenHandle); LookupPrivilegeValue(nil,'SeShutdownPrivilege',lpLuid); NewState.PrivilegeCount:=1; NewState.Privileges[0].Luid:=lpLuid; NewState.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED; ReturnLength:=0; AdjustTokenPrivileges(ToKenHandle,False,NewState,0,nil,ReturnLength); end; procedure TForm1.Timer1Timer(Sender: TObject); begin Form1.Hide; Timer2.Enabled:=True; end; procedure TForm1.Timer2Timer(Sender: TObject); begin if TimetoStr(Time)='2:15:00' then begin GetPrivilege; ExitWindowsEx(EWX_SHUTDOWN OR EWX_POWEROFF, 0); end; end; end.