在Windows2000下关闭计算机
function ShutDownSystem():BOOL;
var
  hProcess,hAccessToken:THandle;
  LUID_AND_ATTRIBUTES:TLUIDAndAttributes;
  TOKEN_PRIVILEGES: TTokenPrivileges;
  BufferIsNull:DWORD;
Const
  SE_SHUTDOWN_NAME='SeShutdownPrivilege';
begin
  hProcess:=GetCurrentProcess();OpenProcessToken(hprocess,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,hAccessToken);
  LookupPrivilegeValue(Nil,SE_SHUTDOWN_NAME,LUID_AND_ATTRIBUTES.Luid);
  LUID_AND_ATTRIBUTES.Attributes:=SE_PRIVILEGE_ENABLED;
  TOKEN_PRIVILEGES.PrivilegeCount:=1;
  TOKEN_PRIVILEGES.Privileges[0]:=LUID_AND_ATTRIBUTES;
  BufferIsNull:=0;AdjustTokenPrivileges(hAccessToken,False,TOKEN_PRIVILEGES,sizeof(TOKEN_PRIVI
LEGES),Nil,BufferIsNull);
  ExitWindowsEx(EWX_REBOOT, 0);
ShutDownSystem:=True;
end;//适用于 xp