Board logo

标题: [系统相关] [代码征集]批处理随机更换桌面背景 [打印本页]

作者: youxi01    时间: 2007-12-10 21:04     标题: [代码征集]批处理随机更换桌面背景

批处理随机更换桌面背景

要求:
1、代码简洁明了
2、背景图片可以随意更新(包括文件名)
3、附录:需要用到的命令:
  1. Rem ===================操作注册表=====================
  2. set regadd=reg add "HKEY_CURRENT_USER\Control Panel\Desktop
  3. %regadd%" /v TileWallpaper /d "0" /f
  4. %regadd%" /v Wallpaper /d "%cd%\【这里是随机图片】.bmp" /f
  5. %regadd%" /v WallpaperStyle /d "2" /f
  6. Rem ====================更新==========================
  7. RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
复制代码

作者: 随风    时间: 2007-12-10 23:49

  1. @echo off&setlocal enabledelayedexpansion
  2. rem  by  小楼一夜听春雨  bbs.bathome.net  2007-12-10
  3. title 随机更换桌面背景&color 1f
  4. :start
  5. cls&set wjm=&set num=
  6. echo\&echo  请输入图片全路径及文件名,或拖放文件来此。(只能是bmp图片)
  7. echo\&echo  直接回车在当前目录随机提取bmp文件做为桌面
  8. set /p wjm=
  9. if not "%wjm%"=="" goto loop
  10. ::  获取当前目录下bmp文件的总数
  11. for %%a in (*.bmp) do set /a var+=1
  12. :: 提取一个随机数,范围在文件总数之内
  13. set /a w=%random%%%%var%+1
  14. :: 循环所有bmp文件,每次给num加1,当num的值等于随机数就以这个文件为桌面
  15. for %%a in (*.bmp) do (
  16.   set /a num+=1
  17.   if !num! equ !w! set wjm=%%a
  18. )
  19. :loop
  20. set wjm=%wjm:"=%
  21. if not exist "%wjm%" (
  22.    echo\&echo  你输入的文件名不正确
  23.    ping/n 2 127.1>nul
  24.    goto start
  25. )
  26. Rem ===================操作注册表=====================
  27. set regadd=reg add "HKEY_CURRENT_USER\Control Panel\Desktop"
  28. %regadd% /v TileWallpaper /d "0" /f>nul
  29. %regadd% /v Wallpaper /d "%wjm%" /f>nul
  30. %regadd% /v WallpaperStyle /d "2" /f>nul
  31. Rem ====================更新==========================
  32. RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
复制代码

[ 本帖最后由 随风 于 2007-12-11 00:34 编辑 ]
作者: youxi01    时间: 2007-12-11 07:49

不错,不过有点点建议
你的代码有点要求就是:文件名是数字,然后取随机数,只要随机数与文件名一样,就设置该文件为墙纸,但是为了更好的对图片进行 识别和管理,我们要求图片文件名 不以数字命名...
作者: 随风    时间: 2007-12-11 10:21

没有啊?
你没看仔细吧?
我测试可以的,文件名是任意的.
作者: 辉少    时间: 2008-9-26 10:18

屏保的怎么设置呢??




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2