为什么 Wallpaper.reg 在添加到批处理文件后没有执行应有的操作?

为什么 Wallpaper.reg 在添加到批处理文件后没有执行应有的操作?

每当我在新设备上安装 Windows 时,都需要进行大量更改,这会花费大量时间。所以我想编写一些脚本来帮我完成这些工作。

过去几天,我一直在寻找可以创建/更改的注册表项,用于 Windows 10 的基本设置(更改桌面壁纸、小托盘图标等)。我找到了一些,也创建了自己的注册表项,然后将它们添加到批处理脚本中。

我对批处理脚本没有太多经验,但是我编写了一个脚本,当以管理员身份执行时,它将“获取”脚本所在文件夹中的密钥,将它们写入路径,然后停止 explorer.exe 并重新启动它以应用更改。

@echo off

reg import %~dp0TaskViewButton.reg
reg import %~dp0SearchboxTaskbar.reg
reg import %~dp0RemoveContacsFromTaskbar.reg
reg import %~dp0EnableAutoTray.reg
reg import %~dp0Wallpaper.reg
reg import %~dp0TaskbandFavorites.reg
reg import %~dp0TaskbandFavoritesChanges.reg
reg import %~dp0TaskbandFavoritesResolve.reg

taskkill /f /im explorer.exe
start explorer.exe

pause

当我执行脚本时,除 DesktopWallpaper.reg 外,所有键都成功。对于 DesktopWallpaper.reg,我创建了一个名为 System 的新键文件夹,其中包含名为 Wallpaper 的字符串值HKCU\软件\微软\Windows\当前版本\政策因为这对我来说是唯一可行的方法。
在我将其导出并放入该脚本之前,它一直有效。我向该 .reg 文件添加和更改的唯一内容是名称和 RGB 值,该值应该是壁纸的颜色。文件如下所示:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"Wallpaper"="46 141 239"

命令提示符显示该文件有错误。当我双击 .reg 文件时,它告诉我尝试访问注册表时发生错误以系统管理员身份运行。不仅如此,执行脚本还会将壁纸更改为纯黑色。在设置中访问个性化 > 背景时,它告诉我*某些设置被隐藏或由您的组织管理。

我也对此做了一些研究,并尝试使用管理控制台。显然,当 Windows 更改某些设置时,它们也应该在组策略编辑器中。我遵循了一些教程,但没有一个对我有用。一些应该在那里启用的规则“未配置”。

任何帮助都将受到感激。

答案1

该特定注册表更改不起作用的原因如下:

  1. 重新启动 Windows 资源管理器 ( explorer.exe) 不会更新背景颜色,只会更新背景图像。更新背景颜色需要注销并重新登录。
  2. 您可能应该使用的键是:

    Windows Registry Editor Version 5.00
    
    [HKEY_CURRENT_USER\Control Panel\Colors]
    "Background"="46 141 239"
    
    [HKEY_CURRENT_USER\Control Panel\Desktop]
    "WallPaper"=""
    
  3. 关键HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Wallpaper似乎是:

    • 仅接受本地文件路径——不接受颜色或 UNC 路径。
    • 覆盖HKEY_CURRENT_USER\Control Panel\Desktop\WallPaper
    • 通过个性化->背景限制更改壁纸。
    • 要求全部\转义为\\

相关内容