【问题标题】:Changing Wallpaper with a batch file, on program close. Possible? [closed]在程序关闭时使用批处理文件更改墙纸。可能的? [关闭]
【发布时间】:2011-10-15 17:39:59
【问题描述】:

我正在尝试创建一个批处理文件,当程序在 Windows 7 上关闭时将更改我的背景。我尝试过使用它,但它不起作用,即使我注销并重新登录:

@echo off
reg /add HKCU\Control Panel\Desktop\WallPaper /v wallpaper /t REG_SZ /d c:\images\wallpaper.bmp

【问题讨论】:

  • 您是否也通过批处理脚本打开了您要监控的程序?

标签: windows-7 batch-file background wallpaper


【解决方案1】:

您的命令中有一些错误:

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

这应该可以解决问题:

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

当然,如果壁纸路径包含空格,您也必须用引号将其括起来。

我还添加了密钥 /f 以在已设置壁纸的情况下强制覆盖。

【讨论】:

  • 它实际上并没有更新屏幕,有什么方法可以强制它发生吗?
  • @Mr.TA 添加这一行 reg add "HKCU\Control Panel\Desktop" /v WallpaperStyle /f /t REG_SZ /d 10 并以管理员身份运行 bat 文件 - 这对我有用。
  • @Mr.TA 尝试在 reg add 之后将此行添加到您的脚本中:RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True
  • 不幸的是,在我的 PC (Windows 10) 上,它会将路径写入壁纸键,但没有任何反应 - 未显示 JPG 图像。也不能用 RUNDLL32.EXE 提示更新参数。谁知道 W10 发生了什么变化?如果我通过上下文菜单(个性化)更改它,WallPaper 会被填充并且图像会更改。
  • 得到了问题: 答案中的脚本写入“Wallpaper”,但值的名称实际上是 “WallPaper” - 它是大小写-敏感的。现在可以了!
猜你喜欢
  • 2023-01-12
  • 2015-02-12
  • 1970-01-01
  • 2017-07-23
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多