(Comment) puis-je modifier l'heure jusqu'à ce que l'économiseur d'écran se déclenche à partir de la ligne de commande?

10

Comme le titre le demande (Windows 7). (Comment) puis-je modifier l'heure jusqu'à ce que l'économiseur d'écran se déclenche à partir de la ligne de commande? Est-ce même possible?

Normalement, je suis satisfait d'un réglage de 5 minutes, mais je veux parfois le prolonger. Je voudrais que les deux longueurs soient liées aux raccourcis clavier (je sais comment faire).

Je suppose que je pourrais enregistrer deux macros et les utiliser, mais je me demandais simplement s'il existe des options de ligne de commande (y compris les mises à jour du registre) que je peux utiliser pour dire à Windows de démarrer l'économiseur d'écran après X minutes d'inactivité.

(veuillez noter que je ne veux pas démarrer l'économiseur d'écran immédiatement; je veux modifier la durée d'attente de Windows avant de le démarrer)

Merci d'avance.


[Réponse] J'ai finalement utilisé une variante de la réponse de @Gjordis - mais tout le mérite lui revient.

Je ne voyais pas pourquoi nous avions besoin de 3 opérations: ajouter, supprimer puis renommer et réduire cela à deux.

Puisque je veux me lier à un raccourci clavier, je dois exécuter deux commandes en une. Normalement, on peut séparer les commandes par un point-virgule et les émettre sur une seule ligne (par exemple dir c:;dir d:). Cela a donné des erreurs avec la regcommande, donc au final j'ai deux fichiers batch. Les contens sont identitaires, seule la durée change.

Chose étrange - la valeur est correctement écrite dans le registre, mais le Panneau de configuration / Personnaliser / Économiseur d'écran ne met pas toujours à jour son interface graphique. Cependant, j'ai testé et l'économiseur d'écran se comporte comme prévu.

@echo off
reg delete "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /f
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 180 /f

Si cela vous aide, veuillez voter pour la question ;-)

Mawg dit réintégrer Monica
la source

Réponses:

7
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 600 /f

La valeur 600 est en secondes, = 10 minutes Fait intéressant, comme indiqué, cela ne fonctionne que la première fois. Lors du prochain changement, vous devez créer une nouvelle clé comme ceci:

reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOutTemp /t REG_SZ /d 300 /f

Supprimez ensuite l'ancien

reg delete "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 600 /f

Copiez ensuite le nouveau sous le bon nom

reg copy "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOutTemp "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut

Espérons que cela fonctionne et que vous ne détruisez pas votre ordinateur, mais comme vous n'avez pas cette valeur de registre, je ne pense pas que la supprimer puisse être si horrible.

Documentation REG ici: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/reg.mspx?mfr=true

Gjordis
la source
Cela fonctionne :-) La première fois seulement :-( probablement parce que je n'avais pas d'entrée de registre la première fois, donc je pourrais ajouter, mais je devrais peut-être modifier par la suite? +1 pour avoir essayé. Merci
Mawg dit réintégrer Monica
1
Modifié pour travailler avec optimisme d'autres fois aussi
Gjordis
+1 Eh bien, c'est étrange. Je peux voir qu'il met à jour la clé de registre, mais lorsque je clique avec le bouton droit sur le bureau (ou que je passe via le panneau de configuration) et que je choisis "peronalize", il affiche toujours 5 minutes sur l'interface graphique. Si je mets 10 secondes via le registre, l'économiseur d'écran ne démarre pas après 10 secondes (ou même quelques minutes). Si je mets 1 minute dans l'interface graphique, il démarre après 1 minute (et il met à jour le registre correctement).
Mawg dit de réintégrer Monica
Peut-être qu'il a une plage de valeurs valide
Gjordis
+1 J'ai utilisé une variante de votre réponse et je l'ai affichée dans la question ci-dessus. Merci pour votre aide
Mawg dit réintégrer Monica
1

En fait, cette approche (via le registre) ne fonctionne pas avant le redémarrage . La seule façon de le faire sans redémarrage du PC est d'utiliser une API:

https://www.pcreview.co.uk/threads/utility-to-temporially-change-the-screensaver.2321339/#post-7442568

mais les API ne peuvent pas être utilisées à partir d'une ligne de commande, c'est-à-dire un script VB. Voici la raison:

http://forums.codeguru.com/showthread.php?31534-VBScript-and-API&p=86696#post86696

Cela pourrait être fait en appelant l'utilitaire SetScrTimeout.exe (à partir du premier lien), mais malheureusement, ce petit utilitaire n'existe plus sur Internet.

Aleksandar
la source
Merci pour ça. Peut-être que SetScrTimeout.exe peut être trouvé sur le chemin du retour de la machine ? Je ne peux pas vérifier à cause du pare-feu de l'entreprise, mais il devrait être là - tout le reste est ;-)
Mawg dit réintégrer Monica
1
J'ai même essayé sur des serveurs ftp, mais aucun résultat. J'ai trouvé un code source VB à cet effet ( freevbcode.com/ShowCode.asp?ID=504 ), mais je ne suis pas en mesure de créer et de partager un exe.
Aleksandar
Une idée de quelle version de VB (je devine VN 6)?
Mawg dit de réintégrer Monica
1
Oui, c'est VB6. Désolé pour ma réponse tardive.
Aleksandar