杂记
 


每天更换桌面墙纸

作者:Cable Fan  2012-02-01 00:00:00     分类:Windows     标签:Delphi;资源

电脑上一直显示一个桌面墙纸,总是会厌烦的。至少应该每天换一次,尤其是公司内的办公电脑,还能达到统一墙纸的作用。这里主要也是讲述局域网(特别是有域的局域网)内桌面墙纸的更换方法。家用的单机也可以这样做,只要把对应的网络路径改成本地路径就可以了;当然,要是用Win7系统,自动切换墙纸已经是现在的功能了。

为了每天显示不同的桌面墙纸,先要把图片按规则放好,建立一个专门存放桌面墙纸图片的目录中,按年份建立文件夹,再在里面按月份建立文件夹。然后把图片放在月份文件夹中,图片按日期命名,如01.jpg、02.jpg,一直该最后一天。如图:

再建立一个用于共享桌面墙纸的专用目录,共享出来(注意权限哦)。在其中建立一个批处理文件,如图:

这里面的照片就是当天的桌面墙纸,文件名是固定的,每天会通过计划任务,拷贝一个新的图片来覆盖它。另外一个PicCalendar.exe是俺自己写的程序,用来在图片上打上日历水印(独家定做的,有需要可以联系我,^_^)。

关键是这个批处理文件autoswitch.bat,其内容如下:

@echo off
cls

echo *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
echo * DESC:Auto switch the destop wallpaper of domain.    *
echo * DATE:2011-03-16                                     *
echo * VER:1.0                                             *
echo * AUTHOR:Cable Fan                                    *
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:: 图片路径
set PicPath=D:picture2012%DATE:~5,2%

:: 目标图片文件名
set TargetFile=D:desktopszsolid.jpg

:: 按日期获取文件名(两位数字)
set FileName=%PicPath%%DATE:~8,2%.jpg

:: 复制文件替换当前桌面图片
copy %FileName% %TargetFile% /Y

:: 绘制日历水印(当前日期)
“D:desktopPicCalendar.exe” %TargetFile% %TargetFile%

gpupdate /force

echo 完毕!

它的作用是按照当前日期,构建出对应年份及月份的路径,并找到以当日为文件名的图片,将其复制到桌面墙纸共享目录,并命名为指定的名称。其中,绘制日历水印的命令需要用到PicCalendar.exe这个程序,不需要的可以删除这行。最后刷新一下策略。

定义一个计划任务,每天零点(当然写00:03,过几分钟更保险。也许这个担忧是多余的- -!)运行autoswitch.bat这个批处理就可以了。

关键一步,如果是域服务器的话,在AD上修改(最好另外创建一个)组策略。在[用户配置]-[管理模板]-[桌面]目录下,修改几个策略:
1、启用活动桌面:将“启用 Active Desktop”设置为“已启用”;
2、禁止修改桌面:将“不允许更改”设置为“已启用”。当然,如果不需要这么严格就不要设置这个了-_-b;
3、指定墙纸名称:将“Active Desktop 墙纸”设置为“已启用”,并将“墙纸名称”指定为上述墙纸的共享路径(包括图片文件名);另外,还应该指定“墙纸样式”,推荐“拉伸”。

到此,如果是加域的客户端电脑,就直接应用墙纸了。可以手工执行一个计划任务,或者直接运行批处理,看看是否有效果。不过,客户端电脑应该是要注册才能生效的。

未加域的电脑需要设置本地组策略,设置方法同上述的域策略设置步骤。不过,Win7系统存在“桌面墙纸无法应用策略”问题,需要稍作处理。修改注册表,代码如下:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]
“NoActiveDesktop”=dword:00000000

理论就这么多了,但实际应用时,还会遇到一些奇怪的问题。一台24小时不关机的电脑,它的桌面还是一成不变的,如果不想注销,可以用别的电脑“远程”(就是通过远程桌面连接登录一下)它,再登录就看到更换了-.-。

更多
阅读(838)     评论(0)