批处理写换桌面

来源:百度知道 编辑:UC知道 时间:2024/06/06 04:02:17
我想关机时换个桌面,这样每次开机的桌面都不一样.
下面是源程序:
@ECHO OFF
@echo off&setlocal enabledelayedexpansion
cls
set wjm=%random%
echo.
set /a (wjm%%=150)
Rem ===================操作注册表=====================
set regadd=reg add "HKEY_CURRENT_USER\Control Panel\Desktop"
%regadd% /v TileWallpaper /d "0" /f>nul
%regadd% /v Wallpaper /d "C:\Documents and Settings\All Users\Documents\My Pictures\示例图片\%wjm%.jpg" /f>nul
%regadd% /v WallpaperStyle /d "2" /f>nul
Rem ====================更新==========================
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

@shutdown -r -t 2

但是每次开机后,桌面都是黑的,打开桌面属性,发现桌面其实已经换了,就是不显示,必须更新一下桌面才能显示出来.
不知道什么原因,望各位高手帮忙解决一下.
我以为是注册表的问题,但是改过之后还是不行,桌面总是显示为黑色,而不是我要换的图片,注册表已经改过来了,但是就是不显示.会不会跟系统服务有关啊?

@echo off&setlocal enabledelayedexpansion
cls
set wjm=%random%
echo.
set /a (wjm%%=150)
Rem ===================操作注册表=====================
set regadd=reg add "HKEY_CURRENT_USER\Control Panel\Desktop"
%regadd% /v TileWallpaper /d "0" /f>nul
%regadd% /v Wallpaper /d "C:\Documents and Settings\All Users\Documents\My Pictures\示例图片\%wjm%.jpg" /f>nul
%regadd% /v WallpaperStyle /d "2" /f>nul
Rem ====================更新==========================
gpupdate/force
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
shutdown -r -t 2

这样看看可行吗/

还是不行是吗?楼主,把你的JPG转成BMP格式的,应该可以了,我刚看了下..