Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows-Shutdown mittels InitiateSystemShutdown ohne installieren von Windows-Updates (https://www.delphipraxis.net/183975-windows-shutdown-mittels-initiatesystemshutdown-ohne-installieren-von-windows-updates.html)

Der schöne Günther 17. Feb 2015 12:25

AW: Windows-Shutdown mittels InitiateSystemShutdown ohne installieren von Windows-Upd
 
Ja! Das sieht doch genau richtig aus!

Warum haben wir das alle bis grade übersehen? ExitWindows, ExitWindowsEx, InitiateShutdown, InitiateSystemShutdown, InitiateSystemShutdownEx, ... Wie viele braucht man eigentlich?

devidespe 17. Feb 2015 14:53

AW: Windows-Shutdown mittels InitiateSystemShutdown ohne installieren von Windows-Upd
 
Hmm, das Flag SHUTDOWN_INSTALL_UPDATES sagt laut MSDN:

The computer installs any updates before starting the shutdown.

was ich so interpretiere, dass Updates grundsätzlich nicht installiert werden, wenn ich dieses Flag nicht aktiv setze. Mit gesetzten Flag sollten dann evtl. heruntergeladene Updates installiert werden.

Seltsame Auslegung. Das muss ich mal ausprobieren.

hathor 17. Feb 2015 15:11

AW: Windows-Shutdown mittels InitiateSystemShutdown ohne installieren von Windows-Upd
 
Registry ändern:
siehe
https://technet.microsoft.com/de-de/...=ws.10%29.aspx
Code:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAUShutdownOption"=dword:00000001
"NoAUAsDefaultShutdownOption"=dword:00000001
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
Rückgängig machen:

Code:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAUShutdownOption"=-
"NoAUAsDefaultShutdownOption"=-
"NoAutoRebootWithLoggedOnUsers"=-
In 2 Batch-Files kopieren, doppelklick - fertig.

Dalai 17. Feb 2015 15:34

AW: Windows-Shutdown mittels InitiateSystemShutdown ohne installieren von Windows-Upd
 
Zitat:

Zitat von hathor (Beitrag 1290227)
Registry ändern:

Dafür braucht man sehr wahrscheinlich Adminrechte, weil die Einstellungen zwar im HKCU stehen, aber im Zweig Policies. Sonst könnte ja jeder Nutzer an den Policies drehen, die ihm vom Admin verpasst wurden.

MfG Dalai

devidespe 17. Feb 2015 17:23

AW: Windows-Shutdown mittels InitiateSystemShutdown ohne installieren von Windows-Upd
 
Admin-Rechte hätte ich und die Registry wäre auch ne Option, ich hätte aber gedacht, dass sich das mit einem Flag einfacher und ohne dauerhafte Rückstände durchführen lässt...

devidespe 17. Feb 2015 18:28

AW: Windows-Shutdown mittels InitiateSystemShutdown ohne installieren von Windows-Upd
 
So, ich habe InitiateShutdown mit folgendem Aufruf getestet, und das Startmenü wies zu diesem Zeitpunkt eine Option zum Herunterfahren mit Updates aus - also genau die Situation die ich meinte:

Delphi-Quellcode:
Result:=InitiateShutdown(nil, nil, Time, SHUTDOWN_FORCE_SELF or SHUTDOWN_GRACE_OVERRIDE or SHUTDOWN_POWEROFF, 0);
Zunächst einmal das Positive: der Shutdown funktioniert ohne das Installieren der Updates. Allerdings liefert Result immer False zurück und eine abschließende GetLastError-Abfrage dann wiederum 0.

HolgerX 17. Feb 2015 18:52

AW: Windows-Shutdown mittels InitiateSystemShutdown ohne installieren von Windows-Upd
 
Hallo..

erstmal:
InitiateShutdown liefert kein Bool als Result, sondern nen DWORD mit dem FehlerCode.

Desweiteren:
Welchen Wert hat den in deinem Aufruf 'Time'?

Zitat:

If the value of this parameter is greater than zero, and the dwShutdownFlags parameter specifies the flag SHUTDOWN_GRACE_OVERRIDE, the function fails and returns the error code ERROR_BAD_ARGUMENTS.
https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx

Holger

Zacherl 17. Feb 2015 20:48

AW: Windows-Shutdown mittels InitiateSystemShutdown ohne installieren von Windows-Upd
 
[OT] Wenn gar nichts hilft, probiers mal mit MSDN-Library durchsuchenNtShutdownSystem :stupid: [/OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz