Der Bildschirmschoner ist in Delphi geschrieben und regelt den shutdown selbst. 
  
Wie gesagt, wenn ein Benutzer angemeldet ist und diesen Bildschirmschoner verwendet, dann wird der Rechner auch sauber automatisch zu vorgegebenen Uhrzeit heruntergefahren. 
  
  
unit shutdown; 
  
interface 
   function shut(system, message: string; force, reboot: boolean; duration: integer): integer; 
   function ExitWindows(flag:word): Boolean; 
  
implementation 
uses windows,dialogs; 
  
function ExitWindows(flag:word): Boolean; 
var vi: TOSVersionInfo; 
begin 
  result := false; 
  vi.dwOSVersionInfoSize:=SizeOf(vi); 
  GetVersionEx(vi); 
  if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then begin // Windows NT 
    shut('WinXP', 'Rechner wird heruntergefahren!', true, false, 3); 
  end else begin  // Windows 95 
    result := ExitWindowsEx(flag,0); 
  end; 
end; 
  
// http://scifi.pages.at/bdsx/vb6/vb6_reboot.htm 
function shut(system, message: string; force, reboot: boolean; duration: integer): integer; 
var 
  otoken, hToken: THandle; 
  tp: TTokenPrivileges; 
  h: Dword; 
begin 
  result := 0; 
  OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken); 
  otoken := htoken; 
  LookupPrivilegeValue(NIL, 'SeShutdownPrivilege', tp.Privileges[0].luid); 
  tp.privilegecount := 1; 
  tp.privileges[0].Attributes := SE_PRIVILEGE_ENABLED; 
  h := 0; 
  AdjustTokenPrivileges(hToken, False, tp, 0, PTokenPrivileges(NIL)^, h); 
  InitiateSystemShutdown(NIL, pchar(message), duration, force, reboot); 
  result := getlasterror; 
  tp.privilegecount := 1; 
  tp.privileges[0].Attributes := SE_PRIVILEGE_ENABLED; 
  h := 0; 
  AdjustTokenPrivileges(oToken, False, tp, 0, PTokenPrivileges(NIL)^, h); 
  CloseHandle(hToken); 
end; 
  
end.