更改 Windows 7 桌面背景

更改 Windows 7 桌面背景

我一直在网上寻找批量修改Windows 7 Ultimate 64位桌面背景的方法,尝试了几次之后,只成功了一次,之后就再也改不了了...

我正在使用这个:

SET "str=C:\Users\Jorge\Dropbox\Photos\Wallpapers\1379362257639.jpg"
reg add "HKCU\Control Panel\Desktop" /v Wallpaper /f /t REG_SZ /d %str%
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

运行该程序后,在“定制”窗口中,新背景出现在那里,但桌面不会刷新...为什么?另外,我确认注册表项也更改为图片的路径,并且我尝试了 bmp 扩展名。

奇怪的是,如果我多次运行它,它最终会随机改变(变为正确的图像但随机......)我不知道为什么?

编辑:似乎在第三次/第四次运行相同的代码后,它终于发生了变化..?

答案1

应该

SET "str=C:\Users...

SET str="C:\Users...

答案2

我发现仅使用批处理文件根本无法完美地完成此操作...就我的批处理知识而言,因此,我使用 vb.net 来调用SystemParametersInfo 如下函数:

Const SPI_SETDESKWALLPAPER As UInteger = &H14
Const SPIF_SENDCHANGE As UInteger = &H2

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "IMAGE_PATH", SPIF_SENDCHANGE)

注意:在这种情况下,图像不必是 bmp,我用 jpg 测试过,效果很好。就我而言,使用 vb.net 完成此操作没有问题,希望我可以帮助到某人 ;)。

相关内容