中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何在win2000中用DOS命令更换当前壁纸?
作者:
标题: 如何在win2000中用DOS命令更换当前壁纸? 上一主题 | 下一主题
4567boy
新手上路





积分 4
发帖 4
注册 2008-4-8
状态 离线
『楼 主』:  如何在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的相关注册表位置是怎么样的?

请大家指教一下,谢谢!

2008-11-30 02:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
4567boy
新手上路





积分 4
发帖 4
注册 2008-4-8
状态 离线
『第 2 楼』:  

今天上午查了些资料,发现win2000下壁纸的相关键值是HKEY_CURRENT_USER\software\microsoft\internet explorer\desktop\general\

并且win2000下reg命令是属于外部命令,必须要从win2000的光盘上拷贝这个文件放到系统中才行的。。。

现在仍然有一个问题,在win2000下的命令不是下面这行。。执行后桌面仍然无法刷新,必须要手工重启explorer才能更新桌面
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

2008-11-30 12:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
exzzz
初级用户

游手好闲 + 无所事事 ..



积分 194
发帖 167
注册 2007-4-30
状态 离线
『第 3 楼』:  

这是以前我在公司用的。是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 ]

2008-12-8 11:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: