Einzelnen Beitrag anzeigen

FreakyF

Registriert seit: 7. Nov 2007
22 Beiträge
 
#1

Shutdown nach bestimmter Zeit

  Alt 7. Nov 2007, 18:52
Hallo!

Ich verwende folgenden Code, um den PC herunter zu fahren:

Delphi-Quellcode:
function ExWindows(const AFlag: Word): Boolean;
var
  vi : TOSVersionInfo;
  hToken : THandle;
  tp : TTokenPrivileges;
  h : DWord;
begin
  flag:= EWX_Shutdown;
  result:= false;

  vi.dwOSVersionInfoSize:=SizeOf(vi);

  if GetVersionEx(vi) then
  begin
    if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then
    begin
      // Windows NT
      // Achtung bei Delphi 2 muß @hToken stehen ...
      if OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES,hToken) then
      begin
        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);
        CloseHandle(hToken);
        result := ExitWindowsEx(Aflag, 0);
      end;
    end
    else
    begin // Windows 95
      Result := ExitWindowsEx(Aflag, 0);
    end;
  end;
end;
Wo/wie kann ich festlegen, dass der PC erst nach z.b. 1 Minute herunterfahren wird?


Vielen Dank

Markus
  Mit Zitat antworten Zitat