中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 12:21
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 更换桌面 查看 716 回复 2
楼 主 更换桌面 发表于 2007-11-10 19:56 ·  中国 海南 海口 电信
初级用户
积分 52
发帖 16
注册 2007-11-07 17:45
18年会员
UID 101991
性别 男
状态 离线
请问能否编写一个批处理来实现更换桌面呢?类似于自动桌面程序的那样
2 发表于 2007-11-10 20:02 ·  中国 江苏 无锡 宜兴市 电信
中级用户
★★
积分 487
发帖 212
注册 2007-04-01 08:22
19年会员
UID 83597
性别 男
状态 离线
VBS更换桌面壁纸

'服务器路径,只支持BMP格式
ServerPath="\\server\share$\bmp"
'本地文件名,将从服务器复制到本地后改名为这个文件名(包括完整路径)
BMPname="e:\crt.bmp"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set F = FSO.GetFolder(ServerPath)
Set FC = F.Files
Num = 0
ReDim bmp(FC.Count)
For Each F1 in FC
If UCase(FSO.GetExtensionName(F1.NAME)) = UCase("BMP") then
Num = Num + 1
bmp(Num) = F1.Path
End If
Next
Randomize
FSO.CopyFile bmp(Int(Num * Rnd + 1)),BMPname,True
WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\Desktop\TileWallpaper","0","REG_SZ"
WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper",BMPname,"REG_SZ"
WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\Desktop\WallpaperStyle","2","REG_SZ"
WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ListviewShadow","1","REG_DWORD"
'如果桌面图标未透明,需要刷新组策略,如果已经透明,只需要刷新桌面
WshShell.run "gpupdate /force",0
'WshShell.run "RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters"
3 发表于 2007-11-10 20:11 ·  中国 海南 海口 电信
初级用户
积分 52
发帖 16
注册 2007-11-07 17:45
18年会员
UID 101991
性别 男
状态 离线
不是吧,我要的是批处理,不是VBS
论坛跳转: