【发布时间】:2011-07-10 00:51:48
【问题描述】:
我编写了一个小的 vbs 脚本来下载和更改当前用户壁纸的注册表。但是它会复制并进行更改,但墙纸不会更改...对以下代码中的错误有任何想法吗?
Option Explicit
Dim WshShell, strValue, sleepTime, oFSO
strValue = "C:\wallpaper.bmp"
sleepTime = 30000
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.CopyFile "\\anspksnms1\OSD\Scripts\wallpaper\wallpaper.bmp", "C:\"
Set WshShell = WScript.CreateObject("Wscript.Shell")
WshShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", strValue
WScript.Sleep sleepTime
WshShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters", 1, False
Set WshShell = Nothing
【问题讨论】:
-
你试过把“1, False”改成“1, True”吗?其中一个答案中的代码使用 True,experts-exchange.com/OS/Microsoft_Operating_Systems/Windows/…
-
另外,您使用 VB 脚本可能是有原因的,但 PowerShell 可能会提供替代方案blogs.technet.com/b/heyscriptingguy/archive/2009/02/05/…