Question

Je travaille sur le code qui est censé commencer à l'écran défini par les préférences de l'utilisateur. (Le code est en Java, mais ne sera exécuté sous Windows.) Mon approche actuelle est de définir la valeur ScreenSaveTimeOut dans le registre à 1; en théorie, cela devrait lancer l'écran de veille après un délai de seulement une seconde.

Mais dans la pratique, il ne fait pas une telle chose. Je l'ai frappé les valeurs dans les deux HKEY_CURRENT_USER \ Control Panel \ Desktop \ ScreenSaveTimeOut et HKEY_USERS.DEFAULT \ Control Panel \ Desktop \ ScreenSaveTimeOut sans résultats. Je peux voir les valeurs changent lorsque je lance regedit, mais le « Wait » valeur dans les propriétés d'affichage -.> Économiseur d'écran ne change pas

Un fil d'experts-échange indiqué que je dois faire cela pour appliquer les changements immédiatement:

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

... mais cela ne semble pas faire quoi que ce soit.

Des conseils ou des idées sur ce que je fais mal?

Était-ce utile?

La solution

Pour activer l'économiseur d'écran, vous trouverez peut-être plus aisé d'exécuter le fichier .scr avec un paramètre '/ s de, comme suit:

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

Ou, je ne peux pas dire grand-chose sur la façon de le faire à partir de Java, mais si vous pouvez appeler les fonctions user32.dll vous pouvez contrôler l'économiseur d'écran comme un utilisateur final. Voici quelques liens:

(Enfin, il y a la méthode .NET, mais encore une fois je ne sais pas comment obtenir que de Java: http://zayko.net/post/C-How-To-Disable-Windows-Screensaver-programmatically.aspx )

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top