Einzelnen Beitrag anzeigen

DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
444 Beiträge
 
Delphi 12 Athens
 
#1

Windows herunterfahren, ohne Updateinstallation auszuführen

  Alt 26. Mär 2008, 19:12
Hallo,

zurzeit fahre ich mein Windows recht zuverlässig über folgende API-Funktion herunter:

Delphi-Quellcode:
FUNCTION TMainform.WindowsShutDown(Computer : STRING; Msg : STRING; Time: Word; Force : Boolean; Reboot: Boolean) : Boolean;
VAR rl, hToken : Cardinal;
    tkp : TOKEN_PRIVILEGES;
BEGIN
  Result:=False;
  IF NOT OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES OR TOKEN_QUERY, hToken) THEN ShowMessage('Fehler') ELSE
  BEGIN
    IF LookupPrivilegeValue(NIL, 'SeShutdownPrivilege', tkp.Privileges[0].Luid) THEN
    BEGIN
      tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
      tkp.PrivilegeCount:=1;
      AdjustTokenPrivileges(hToken, False, tkp, 0, NIL, rl);
      IF GetLastError <> ERROR_SUCCESS THEN ShowMessage('Fehler') ELSE
      BEGIN
        Result:=InitiateSystemShutdown(PChar(Computer), PChar(Msg), Time, Force, Reboot);
        IF Result = False THEN ShowMessage('Fehler');
      END;
    END ELSE ShowMessage('Fehler');
  END;
END;
Das funktioniert eigentlich immer. Nun habe ich das Problem, dass Windows-Update manchmal Updates herunterlädt (was ja auch so gewollt ist) und diese beim Shutdown mitinstalliert. Das möchte ich aber unterbinden, da der Zeitpunkt des Shutdown bspw. bei Notebooks mit 5 oder 10 Prozent Batterie-Restladung zu viel Zeit in Anspruch nimmt. Wie kann ich das automatische Installieren der Updates für diesen einen Shutdown unterbinden ? Geht das überhaupt mit meinem Quellcodeansatz ?

Danke für die Antworten.
Devid
  Mit Zitat antworten Zitat