Actualizar el fondo del escritorio con un VBS

17 agosto, 2006

Últimamente me viene ocurriendo un problemilla en el portátil de casa: como lo dejo encendido para bajar cosillas de internet, lo que hago es cerrarlo para que la pantalla se apague. Al pasar un tiempo en este estado y volver a abrirlo la imágen de fondo del Windows desaparece y me queda solamente con el color de fondo que tenga el tema aplicado. Lo raro es que en el registro de Windows todavía está la dirección de la imágen a usar como wallpaper. Es un problema del refresco de la pantalla de Windows [como no…]
Me he creado un pequeño script en VB para recargar la imágen de fondo en el registro [por si acaso la elimina] y lanzar la actualización de los parámetros del usuario activo en Windows para que vuelva a tener en cuenta esa imágen.

[vb]Dim WshShell
Set WshShell = WScript.CreateObject(“Wscript.Shell”)

ConvertedWallpaper = “C:Documents and SettingsUsuarioMis documentosMis imágenesFondo.jpg”
Wallpaper = “C:Documents and SettingsUsuarioConfiguración localDatos de programaMicrosoftWallpaper1.bmp”

WshShell.RegWrite “HKCUControl PanelDesktopWallpaper”, Wallpaper
WshShell.RegWrite “HKCUControl PanelDesktopConvertedWallpaper”, ConvertedWallpaper
WshShell.Run “C:WINDOWSSystem32RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters”, 1, False
‘Wscript.Echo “Proceso finalizado.”

Set WshShell = Nothing[/vb]

Así, abro una nueva categoría dentro de la de Programación que se dedicará a los scripts en visual basic que encuentre de utilidad.

Si teneis el mismo problema, esto os puede ser de utilidad… siempre es mejor que abrir la ventana de opciones del escritorio y cambiarlo a mano ;)

  • walter

    excelente amigo es justo lo que necesito. pero como hago para correrlo o instalarlo en mi pc?

    Saludos

  • Luis DG

    Muchisimas gracias, estaba buscando desde hace rato… Muy bueno el Script

    **Walter, los VBS no necesitan instalación, son secuencias de comados que se ejecutan desde un archivo de texto con extensión .VBS o .VBE… para ejecutarlo, pega los comandos en un archivo de texto y lo guardas con la extensíón .VBS

    Saludos!!

  • Gerangel

    Exelente! Justo andaba buscando este código…
    Gracias!

    Pd: Para que sirve esta línea?

    WshShell.Run “C:WINDOWSSystem32RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters”, 1, False

  • Nomeacuerdo

    Qué foto más chula

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.