if timetostr(now)='12:00:00' Then ExitWindowsEx(true, 0);
function ShutDown(uFlags: Cardinal):boolean; const ADJUST_PRIV = TOKEN_QUERY or TOKEN_ADJUST_PRIVILEGES; SHTDWN_PRIV = 'SeShutdownPrivilege'; PRIV_SIZE = sizeOf(TTokenPrivileges);var Len: DWORD; TokenPriv, Dummy: TTokenPrivileges; Token: THandle; Error:integer; begin error:=0; // 设置特权 // Delphi2: //if not OpenProcessToken(GetCurrentProcess(), ADJUST_PRIV, @Token) then if not OpenProcessToken(GetCurrentProcess(), ADJUST_PRIV, Token) then Error := Error or 4; if not LookupPrivilegeValue(nil, SHTDWN_PRIV,TokenPriv.Privileges[0].Luid) then Error := Error or 8; TokenPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; TokenPriv.PrivilegeCount := 1; // One privilege to set if not AdjustTokenPrivileges(Token, false, TokenPriv, PRIV_SIZE,Dummy, Len) then Error:=Error or 16; ExitWindowsEx(uFlags, 0); Result := (Error=0); end; 调用: ShutDown(EWX_POWEROFF + EWX_FORCE);//强制关机并无任何提示
ExitWindowsEx(true, 0);
const
ADJUST_PRIV = TOKEN_QUERY or TOKEN_ADJUST_PRIVILEGES;
SHTDWN_PRIV = 'SeShutdownPrivilege';
PRIV_SIZE = sizeOf(TTokenPrivileges);var
Len: DWORD;
TokenPriv, Dummy: TTokenPrivileges;
Token: THandle;
Error:integer;
begin
error:=0;
// 设置特权
// Delphi2:
//if not OpenProcessToken(GetCurrentProcess(), ADJUST_PRIV, @Token) then
if not OpenProcessToken(GetCurrentProcess(), ADJUST_PRIV, Token) then
Error := Error or 4;
if not LookupPrivilegeValue(nil, SHTDWN_PRIV,TokenPriv.Privileges[0].Luid) then
Error := Error or 8;
TokenPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
TokenPriv.PrivilegeCount := 1; // One privilege to set
if not AdjustTokenPrivileges(Token, false, TokenPriv, PRIV_SIZE,Dummy, Len) then
Error:=Error or 16;
ExitWindowsEx(uFlags, 0);
Result := (Error=0);
end;
调用:
ShutDown(EWX_POWEROFF + EWX_FORCE);//强制关机并无任何提示
timetostr(time)
显示当前日期和时间,data根据国家设定现实类型不同
delphi里的时间转换为字符串的function很多的:datetostr,datetimetostr,datetimetostring等。酌情挑选。
ShutDown(EWX_POWEROFF + EWX_FORCE);强行关机。
我觉得上面的人把方法都说了呀,随便那个都行的。
ShutDown(EWX_POWEROFF + EWX_FORCE)
如果是NT或者2000以上则必须取得系统特权,即楼上iceboy2000的方法!