¿Cambiar el fondo de pantalla según la hora del día a través de un script o un archivo por lotes?


9

Quiero tener 2 fondos de pantalla diferentes que cambien según la hora del día (6 y 22 horas respectivamente) y solo quiero mostrar la noche una después de las 22 horas y el día solo después de las 6 horas y hasta las 22 horas.

No encontré un programa que pueda hacer esto después de un modo de espera, por lo que pensé que debería ser fácil de realizar con el programador de tareas ejecutando un script. Ahora la pregunta no es solo cómo realizar una secuencia de comandos de este tipo, sino también si la secuencia de comandos debe incluir la comprobación de tiempo o el programador de tareas. No estoy seguro de qué funcionaría mejor con los largos tiempos de la PC en espera.

Ya probé algunos scripts de preguntas similares y esperaba poder modificarlos según mis necesidades, pero no funcionaron en absoluto.

Alguien capaz de ayudarme? TIA

Respuestas:


5

Esto es realmente muy simple:

  1. Haga clic derecho en el fondo del escritorio
  2. Seleccione "Personalizar"
  3. Haga clic en "Fondo de escritorio"
  4. Arrastre y suelte imágenes en el cuadro o seleccione "Examinar" y busque las imágenes.
  5. Comprueba ambas imágenes asegúrate de que la mañana sea la primera
  6. Espere hasta las 12:00 a.m. y seleccione "Cambiar imagen cada 12 horas"
  7. ¡Disfrutar!

¡Este es un truco tan elegante!
aalaap

5

Use el programador de tareas y cree un VBscript para cambiar el fondo de pantalla. Cree una secuencia de comandos para cada fondo de pantalla que desee utilizar.

dim shell
Set shell = WScript.CreateObject("WScript.Shell")
wallpaper = "C:\path\to\wallpaper.jpg"
shell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", wallpaper
shell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True

Guarde el archivo como something.vbs y agréguelo al programador de tareas, ¡y listo! Lo tienes todo funcionando.

También se mencionó que no cambiaría el fondo de pantalla si ha apagado la computadora en el momento en que debería cambiar. Esto es incorrecto, ya que la tarea se puede configurar para ejecutarse en el primer inicio después del tiempo seleccionado, por lo que se establecerá una vez que inicie la computadora, incluso si estaba apagada durante el tiempo que debería haber cambiado. Para configurar esto, vaya a las propiedades de tareas específicas y a la pestaña de configuración. Marque la segunda casilla en la ventana y listo.

Este script funciona perfectamente para mí en Windows 8. Tenga en cuenta cómo modifiqué un poco el script original para acortarlo.

Fuente: http://www.ehow.com/facts_7586006_script-change-desktop-background.html


Esta es la verdadera respuesta.
Joe Coder

1

Cada vez que veo a alguien preguntando por hacer algo en un momento específico o periódicamente en Windows, me respalda la idea de usar el Programador de tareas de Windows.

ingrese la descripción de la imagen aquí

Para hacer lo que pretende hacer, debe crear dos tareas, cada una de ellas programada para ejecutar un script o comando para cambiar de un fondo de pantalla a otro en el momento específico que desee. Estos comandos deberían poder cambiar automáticamente el fondo de pantalla de Windows por sí mismo, y la forma más fácil de hacerlo es utilizando el Registro de Windows. Aquí puede encontrar CÓMO: Cambiar el fondo de escritorio con la siguiente clave de registro:

HKEY_CURRENT_USER \ Panel de control \ Desktop \ WallPaper

Por lo tanto, cree sus tareas estableciendo los valores en su registro y podrá cambiarlo automáticamente sin necesidad de instalar ninguna aplicación de terceros.


Gracias, pero eso requiere un reinicio, pero debe aplicarse al instante. También probé ese programa ya. No puede hacer lo que quiero, porque no cambiará el fondo de pantalla, por ejemplo, de noche a día, si la PC no pudo cambiar porque estaba en espera, por ejemplo.
Patrick

Eso no lo ayuda en absoluto; de ahí lo que escribí en mi publicación, requiere reiniciar o cerrar sesión e iniciar sesión para realizar los cambios, por lo tanto, no es automático.
PnP

En realidad estás bastante cerca, solo necesitas actualizar los parámetros del sistema después. Mira mi respuesta.
Steen Schütt

1

Tenía la intención de hacer esto durante bastante tiempo, luego volví a tratar el tema mientras ajustaba la configuración a la forma que me gusta, después de la reinstalación del sistema operativo.

Después de buscar en el proyecto, encontré el archivo de configuración de la presentación de diapositivas; (% APPDATA% / Microsoft / Windows / Themes / slideshow.ini). Este archivo contiene una línea "ImagesRootPIDL =" que, después de buscar un poco en Google, indica que la siguiente gran cadena de letras, números y símbolos está de hecho, un "PCIDLIST_ABSOLUTE sin codificar" aparentemente esta es una manera de localizar un directorio en Windows en un nivel más bajo que usar un camino.

De todos modos, parece que este archivo cambia cuando se agrega una imagen al directorio para la presentación de diapositivas o cuando la presentación de diapositivas se cambia a un nuevo directorio. Entonces, mi solución fue escribir un archivo por lotes dos veces al día, dependiendo de la variable% TIME%, copiar el .ini para cada una de mis presentaciones de diapositivas en mi carpeta de configuración y agregarlas con día o noche y luego sobrescribir el archivo .ini en el carpeta de temas con el archivo .ini de presentaciones de diapositivas apropiado.

El único inconveniente de mi solución es que ahora tengo un archivo por lotes ejecutándose todo el tiempo, aunque supongo que una tarea programada sería una mejor implementación y resolver ese problema, me gusta construir cosas que solo interactúan realmente con ellos mismos. Hasta ahora, esto no ha necesitado ningún reinicio, de la computadora o el explorador para cambiar entre presentaciones de diapositivas, simplemente pasa a la siguiente presentación de diapositivas después de que finalice el tiempo entre diapositivas. Todavía no he intentado que falle, pero ejecutarlo durante dos semanas me parece un período de depuración suficiente.

Soy bastante nuevo en el sistema operativo Windows, así que pido disculpas si esto tiene demasiadas declaraciones obvias, o se hace fácilmente haciendo clic varias veces. Creo que este tipo de cosas es la forma más rápida de aprender el funcionamiento interno del sistema operativo, aunque creo que podría haber escrito esto en aproximadamente cinco líneas en un script de Linux Bash en lugar de los cuarenta y tantos colosos de lotes de líneas impares.


0

Lamentablemente, no creo que haya nada integrado en Windows que le permita hacer esto sin necesidad de cerrar la sesión y volver a iniciarla. Dado que los fondos de pantalla se pueden controlar a través del registro, puede construir un archivo por lotes para modificar la entrada del registro - pero los cambios en el fondo de pantalla en sí no se verán hasta que cierre la sesión y vuelva a iniciarla. Puede probar una aplicación de terceros como: http://download.cnet.com/Automatic-Wallpaper-Changer/3000-2336_4- 10560884.html

Espero que esto ayude.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.