Windows 7 在程序关闭时,使用批处理文件更改墙纸。可能的

Windows 7 在程序关闭时,使用批处理文件更改墙纸。可能的,windows-7,batch-file,background,wallpaper,Windows 7,Batch File,Background,Wallpaper,我正在尝试创建一个批处理文件,当程序在Windows7上关闭时,该文件将更改我的背景。我尝试过使用它,但它不起作用,即使在我注销并重新登录时: @echo off reg /add HKCU\Control Panel\Desktop\WallPaper /v wallpaper /t REG_SZ /d c:\images\wallpaper.bmp 您的命令中有一些错误: 您已将不必要的/添加到add命令中 您不能将注册表项名称括在引号中(用于空格转义) 您指定了错误的路径(末尾的额外墙纸

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

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

您的命令中有一些错误:

  • 您已将不必要的
    /
    添加到
    add
    命令中
  • 您不能将注册表项名称括在引号中(用于空格转义)
  • 您指定了错误的路径(末尾的额外
    墙纸
  • 这应该可以做到:

    reg add "HKCU\Control Panel\Desktop" /v Wallpaper /f /t REG_SZ /d c:\images\wallpaper.bmp
    
    当然,如果墙纸路径包含空格,也必须将其括在引号中


    我还添加了键
    /f
    ,以便在墙纸已设置的情况下强制覆盖。

    您是否也通过批处理脚本打开了要监控的程序?它实际上不会更新屏幕,有什么方法强制更新吗?@Mr.TA添加此行
    reg添加“HKCU\Control Panel\Desktop”/v wallparstyle/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发生了什么变化?如果我通过上下文菜单(Personalize)进行更改,则会填充墙纸并更改图像。问题是:答案中的脚本写入“墙纸”,但值的名称实际上是“墙纸”,并且区分大小写。现在它工作了!