So programmatisch die Einstellungen für die Windows -Bildschirmschoner -Registrierung optimieren

StackOverflow https://stackoverflow.com/questions/1369754

  •  21-09-2019
  •  | 
  •  

Frage

Ich arbeite an Code, der den von den Benutzerpräferenzen definierten Bildschirmschoner starten soll. (Der Code befindet sich in Java, wird aber nur unter Windows ausgeführt.) Mein aktueller Ansatz ist es, den Bildschirmschicht in der Registrierung auf 1 festzulegen. Theoretisch sollte dies den Bildschirmschoner nach einer Verzögerung von nur einer Sekunde auf den Markt bringen.

Aber in der Praxis macht es so etwas nicht. Ich habe die Werte sowohl in Hkey_Current_User Control Panel Desktop screensavetimeout und hkey_users.default Control Panel Desktop screensavetimeout ohne Ergebnisse gedrückt. Ich kann sehen, dass sich die Werte ändern, wenn ich regeedit abfeuere, aber der Wert "Wartezeit" in Anzeigeeigenschaften -> Bildschirmschoner ändert sich nicht.

Ein Experten-Austausch-Thread gab an, dass ich dies tun sollte, um die Änderungen sofort wirksam zu machen:

%SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters

... aber das schien nichts zu tun.

Irgendwelche Ratschläge oder Einblicke in das, was ich falsch mache?

War es hilfreich?

Lösung

Um den Bildschirmschoner zu aktivieren, können Sie es möglicherweise einfacher finden, die .scr -Datei mit einem '/s' -Parameter wie so auszuführen:

C:\WINDOWS\system32\ssstars.scr /s

Oder ich kann nicht viel darüber sagen, wie man dies von Java macht, aber wenn Sie die Funktionen in user32.dll aufrufen können, können Sie den Bildschirmschoner wie einen Endbenutzer steuern. Hier sind ein paar Links:

(Zuletzt gibt es die .NET -Methode, aber ich habe wieder keine Ahnung, wie ich das von Java bekommen kann: http://zayko.net/post/c-how-to-disable-windows-screensaver-programatic.aspx)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top