miércoles, 18 de febrero de 2009

Cambiar Wallpaper o papel tapiz aleatoriamente en Windows XP

Hace unos días estuve creando unos wallpapers en el programa The Gimp y hoy se me ocurrió que cada vez que yo encienda mi máquina, el papel tapiz va cambiar automáticamente. Yo quería hacer algo muy sencillo, por lo que escogí realizar el mini programa en un archivo batch y otro en vbs.

El primer paso es guardar en un archivo con extensión *.bat, el siguiente código (el archivo lo llamaré wallpaperAleatorio.bat):

@echo off
REM LAS IMAGENES TERMINAN CON UN NÚMERO.RANGO ENTRE 1 Y 9.
set max=9
set min=1
set/a num=%random% %% %max% + %min%

REM LA RUTA DE LOS WALLPAPERS TIENE QUE SER LA RUTA DONDE GUARDAMOS LOS ARCHIVOS.
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "C:\Documents and Settings\Administrator\Desktop\Wallpapers\wallpaper"%num%".bmp" /f
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v OriginalWallpaper /t REG_SZ /d "C:\Documents and Settings\Administrator\Desktop\Wallpapers\wallpaper"%num%".bmp" /f
REM APLICAR CAMBIOS INMEDIATAMENTE SIN TENER QUE REINICIAR SISTEMA, ETC.
%SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters

El segundo paso es crear un archivo con extensión *.vbs y poner el siguiente código (el archivo lo llamaré run.vbs):

Set WshShell = WScript.CreateObject("WScript.Shell")
cmd = "wallpaperAleatorio.bat"
Return = WshShell.Run(cmd, 0, True)
set WshShell = Nothing

El tercer paso es crear un nuevo directorio en la estructura de directorios de windows. Ponerle un nombre cualquiera y luego poner los dos archivos anteriormente creados en este nuevo directorio. Después agregar un acceso directo en el menú Startup/Inicio del botón Inicio/Start de la barra de tareas de windows.

Finalmente, cada vez que iniciemos el sistema operativo, mostrará un papel tapiz diferente. Como la formula para escoger el fondo de pantalla genera un número aleatorio, éste puede repetirse por lo que el fondo de pantalla no va a cambiar, sin embargo se puede cambiar corriendo el archivo run.vbs que se colocó en el menú Startup de la barra de tareas de windows.

No hay comentarios: