使用批处理文件在程序关闭时更改壁纸,可行吗?

7
我正在尝试创建一个批处理文件,当Windows 7上的程序关闭时更改我的背景。我已经尝试使用以下代码,但即使在注销并重新登录后,它也无法工作:
@echo off
reg /add HKCU\Control Panel\Desktop\WallPaper /v wallpaper /t REG_SZ /d c:\images\wallpaper.bmp

你是否也通过批处理脚本打开要监视的程序? - serk
1个回答

17

您的命令存在一些错误:

  1. 您在 add 命令中添加了不必要的 /
  2. 您没有用引号括起来注册表键名(用于空格转义)。
  3. 您指定了错误的路径(在末尾多出了 WallPaper)。

这应该能解决问题:

reg add "HKCU\Control Panel\Desktop" /v Wallpaper /f /t REG_SZ /d c:\images\wallpaper.bmp

当然,如果壁纸路径包含空格,你也必须用引号将其括起来。
我还添加了key /f,以强制覆盖已经设置的壁纸。

1
它实际上没有更新屏幕,有什么方法可以强制发生更新吗? - Mr. TA
@Mr.TA,请添加以下这行代码 reg add "HKCU\Control Panel\Desktop" /v WallpaperStyle /f /t REG_SZ /d 10 并以管理员身份运行批处理文件 - 这对我有效。 - RozzA
1
遇到了问题:答案中的脚本写入了“Wallpaper”,但实际上该值的名称是“WallPaper” - 而且它是区分大小写的。现在它可以工作了! - Matt
只有在使用bmp时才能可靠地工作!在使用之前将jpg转换为bmp。 - FrankIJ
要运行此PowerShell脚本,请执行以下操作:os.system(f'powershell.exe -ExecutionPolicy RemoteSigned -file "{scriptPath}"') - ZiyadCodes
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接