Board logo

标题: 如何在win2000中用DOS命令更换当前壁纸? [打印本页]

作者: 4567boy     时间: 2008-11-30 02:31    标题: 如何在win2000中用DOS命令更换当前壁纸?

在论坛里看到下面这个脚本: @echo off color 0a title 正在更换桌面 ... echo 正在添加注册表项目... set regadd=reg add "HKEY_CURRENT_USER\Control Panel\Desktop %regadd%" /v TileWallpaper /d "0" /f %regadd%" /v Wallpaper /d "C:\Documents and Settings\Administrator\桌面\1.bmp" /f %regadd%" /v WallpaperStyle /d "2" /f echo 正在更换桌面背景 RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters exit 在XP下这段脚本有效,但是win2000下就不行,壁纸没有换,检查了相关注册表项均已写入,重启了也不行。是不是win2000下的与壁纸相关的注册表项与XP不同?还是说win2000不支持这种功能?如果支持,win2000的相关注册表位置是怎么样的? 请大家指教一下,谢谢!

作者: 4567boy     时间: 2008-11-30 12:42
今天上午查了些资料,发现win2000下壁纸的相关键值是HKEY_CURRENT_USER\software\microsoft\internet explorer\desktop\general\ 并且win2000下reg命令是属于外部命令,必须要从win2000的光盘上拷贝这个文件放到系统中才行的。。。 现在仍然有一个问题,在win2000下的命令不是下面这行。。执行后桌面仍然无法刷新,必须要手工重启explorer才能更新桌面 RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

作者: exzzz     时间: 2008-12-8 11:34
这是以前我在公司用的。是2003 SERVER环境 把下面的保存为 *.vbs 运行后会把E:\My Documents\桌面背景\桌面背景.bmp设置为桌面背景,不知道为什么好像不支持JPG。 dim wshShell dim sUserName Set wshShell = WScript.CreateObject("WScript.Shell") sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%") Set oShell = CreateObject("WScript.Shell") Set oFSO = CreateObject("Scripting.FileSystemObject") sWinDir = oFSO.GetSpecialFolder(0) '设定sWallPaper的值 sWallPaper = "E:\My Documents\桌面背景\桌面背景.bmp" '更新注册表,把sWallPaper写入桌面背景的注册表位置,设置为居中 oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper oShell.RegWrite "HKCU\Control Panel\Desktop\WallpaperStyle", 1 '更新系统,让改变生效 oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True [ Last edited by exzzz on 2008-12-8 at 11:36 ]