(¿Cómo) puedo cambiar el tiempo hasta que el protector de pantalla se active desde la línea de comandos?

10

Como pregunta el título (Windows 7). (¿Cómo) puedo cambiar el tiempo hasta que el protector de pantalla se active desde la línea de comandos? ¿Es posible?

Normalmente estoy contento con un ajuste de 5 minutos, pero ocasionalmente quiero alargarlo. Quisiera las dos longitudes vinculadas a las teclas de acceso rápido (sé cómo hacerlo).

Supongo que podría grabar dos macros y usarlas, pero me preguntaba si hay alguna opción de línea de comandos (incluidas las actualizaciones del registro) que pueda usar para decirle a Windows que inicie el protector de pantalla después de X minutos de inactividad.

(tenga en cuenta que no quiero iniciar el protector de pantalla inmediatamente; quiero cambiar el tiempo que Windows esperará antes de iniciarlo)

Gracias por adelantado.


[Respuesta] Finalmente utilicé una variación en la respuesta de @Gjordis, pero todo el crédito es para él.

No entendí por qué necesitábamos 3 operaciones: agregar, eliminar, cambiar el nombre y reducirlo a dos.

Como quiero vincularme a una tecla de acceso rápido, necesito ejecutar dos comandos en uno. Normalmente, uno puede separar los comandos con un punto y coma y emitirlos en una línea (por ejemplo dir c:;dir d:). Eso dio errores con el regcomando, por lo que al final tengo dos archivos por lotes. Los contenidos son idénticos, solo cambia la duración.

Algo extraño: el valor está escrito correctamente en el registro, pero el Panel de control / Personalizar / Protector de pantalla no siempre actualiza su GUI. Sin embargo, probé y el protector de pantalla se comportó como se esperaba.

@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 esto te ayuda, por favor vota la pregunta ;-)

Mawg dice que reinstalar a Mónica
fuente

Respuestas:

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

El valor 600 es en segundos, = 10 minutos Curiosamente, como se señaló, esto funciona solo la primera vez. En el próximo cambio, debe crear una nueva clave así:

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

Luego borra el viejo

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

Luego copie el nuevo con el nombre correcto

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

Espero que esto funcione, y no destruyas tu computadora, pero como no tenías este valor de registro, no creo que eliminarlo pueda ser tan horrible.

Documentación de REG aquí: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/reg.mspx?mfr=true

Gjordis
fuente
Que funciona :-) sólo la primera vez :-( presumiblemente porque no tenía una entrada en el registro del tiempo Frist, por lo que podría añadir, pero puede que tenga que modificar posteriormente 1 por tratar de Gracias?.
MAWG dice Restablecer Mónica
1
Editado para trabajar con suerte otras veces también
Gjordis
+1 Bueno, eso es extraño. Puedo ver que está actualizando la clave de registro, pero cuando hago clic derecho en el escritorio (o voy a través del panel de control) y elijo "peronalizar", todavía muestra 5 minutos en la GUI. Si configuro 10 segundos a través del registro, el protector de pantalla no se inicia después de 10 segundos (o incluso unos minutos). Si configuro 1 minuto en la GUI, entonces comienza después de 1 minuto (y actualiza el registro correctamente).
Mawg dice que reinstalar a Monica el
Tal vez tiene un valor válido
-rango
+1 Usé una variación en su respuesta y la publiqué en la pregunta anterior. Gracias por su ayuda
Mawg dice que reinstale a Monica el
1

De hecho, este enfoque (a través del registro) no funciona hasta que se reinicia . La única forma de hacerlo sin reiniciar la PC es usar una API:

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

pero las API no se pueden usar desde una línea de comandos, es decir, un script VB. Aquí está la razón:

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

Podría hacerse llamando a la utilidad SetScrTimeout.exe (desde el primer enlace), pero desafortunadamente, esta pequeña utilidad ya no existe en Internet.

Aleksandar
fuente
Gracias por eso. ¿Quizás se puede encontrar SetScrTimeout.exe en el camino de regreso de la máquina ? No puedo verificarlo debido al firewall de la compañía, pero debería estar allí; todo lo demás está ;-)
Mawg dice que reinstalar a Monica el
1
Incluso probé en servidores ftp, pero ningún resultado. He encontrado un código fuente VB para ese propósito ( freevbcode.com/ShowCode.asp?ID=504 ), pero no puedo hacer y compartir un exe.
Aleksandar
¿Alguna idea de qué versión de VB (supongo que VN 6)?
Mawg dice que reinstale a Mónica el
1
Sí, es VB6. Lo siento por mi respuesta tardía.
Aleksandar