2012-01-16 11:36:04 +0000 2012-01-16 11:36:04 +0000
18
18

使用注册表更改Windows 7机器的背景

我把我的机器连接到一个工作组。要更改壁纸的设置是在服务器机器上,这样所有的机器都会有相同的壁纸。現在我如何使用註冊表更改我的機器的壁紙?

看了一些答案,

我创建了Wall.reg,内容如下,并在Start up文件夹中创建了一个快捷方式,这样文件就会自动执行。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"Wallpaper"="C:\Users\Public\Pictures\Sample Pictures\Koala.jpg"

我是否遗漏了什么?它不工作 :(

答案 (8)

9
9
9
2012-01-16 11:50:32 +0000

导航到

HKEY/CURRENT/USER/Control Panel/Desktop

,并将Wallpaper键值改为图像的完整路径。

3
3
3
2015-08-21 12:39:25 +0000

我知道这是一个老话题,Windows 7是一个快速成为过时的操作系统。但对于偶尔的用户来说, 我在我的店里已经处理了好几年了 我离IT部门很近,可以在我的笔记本上拥有一定的权限,但还没有近到可以阻止那些愚蠢的GPO,当然,这也会影响到我。

在XP上我是肯定的,在Windows 7上这只是一个灵感。这种对注册表的修改在你重启系统之前是不会生效的! 既然你想规避GPO,这在很多情况下就等于 “不可能完成的任务"。然而,有一种方法可以在不重启系统的情况下,强制更新注册表…

问题是:你不需要重启 - 你需要刷新注册表设置 - 这是重启的一部分。

解决方法(至少在XP上):

@echo off
call :quiet>nul 2>&1
goto :EOF
:quiet
:: Configure Wallpaper (command prompt method works only with bmp files)
REG ADD "HKEY_CURRENT_USER\Control Panel\Desktop" /V Wallpaper /T REG_SZ /F /D "C:\WINDOWS\Web\Wallpaper1.bmp" 
REG ADD "HKCU\Control Panel\Desktop" /V WallpaperStyle /T REG_SZ /F /D 0
REG ADD "HKCU\Control Panel\Desktop" /V TileWallpaper /T REG_SZ /F /D 1
:: Make the changes effective immediately (only XP-compatible)
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

在我的XP机器上,这对我来说很有效(工作),诀窍是最后一行。执行 "user32.dll,UpdatePerUserSystemParameters "作为bat文件的一部分。这就代替了 "重启"。 :-)

我把它放在 "开始 "文件夹中,并在bat文件中添加了一个快捷键组合。这样一来,我的电脑就开始使用我自己的壁纸,当GPO在白天刷新几次时,我就会按下快捷键,然后找回我喜欢的视图(这比公司股票的 "抑郁黑屏 "漂亮多了);-)

我还没来得及在我的新笔记本(运行Win 7)上解决这个问题,但我想有人可以从这个(XP)行为中得到启发,并进一步研究。

2
2
2
2015-08-22 13:24:38 +0000

对于那些还在和XP盒子打交道的朋友,我就不说我之前的答案了。

不过,我现在可以分享一个在Windows 7盒子上解决问题的方法。

1.就像我之前说的,你不想重启电脑,因为你正在 与重启时强制执行的组策略作斗争(在我 个人的情况下,白天每隔几个小时就会执行一次)。然而,对 注册表的更改需要在它们成为 活动之前进行兑现设置的刷新。重启就可以做到这一点。

我们需要找到另一种方法来完成目标:"change-background-of-a-windows-7-machine…“ - 我跳过了 "使用注册表 "的部分,因为我认为这是不可能的,而且坦率地说,我认为这在Windows 7上不是正确的方法! 在XP上是这样的–我在之前的回答中已经说过了。

现在神奇的词是 "Themepack”–而神奇的知识是。"它是可执行的!" 你需要的是一种自动执行它并处理其内含后果的方法。

1.我使用AutoHotkey 1.1版本 http://ahkscript.org/ )在我的笔记本电脑上做一些事情,如果你有运行这个程序所需的权限,你就可以了。 2. (假设你没有对AutoHotkey做其他的事情)。创建一个txt文件, 命名为任何文件, 但给它一个".ahk “的文件名扩展名, 而不是”.txt", 然后把它保存到启动文件夹(“C:\Users_insert your username_ \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup "在我的例子中). 现在它将在每次启动时运行。

用记事本或类似工具编辑文件。插入这几行:

; Setting wallpaper on the desktop on Win 7 which is: Apply a Themepack!
    <^<+D::
     Run "C:\Laptop theme.themepack" ; Apply your Themepack
     WinWait Personlige indstillinger ; Wait for the window to get focus (the appearance is mandatory on an "apply" command)
     WinClose ; Close the last found window
    return

注意我不仅在启动时运行代码,我还附加了一个热键(LCTRL+LSHIFT+D),它可以随意执行这部分脚本。

还要注意命令行 "WinWait"。我的系统是丹麦语,所以个性化窗口的标题是 "Personlige indstillinger”. 你需要在这里插入你自己系统上的窗口标题。如果你一开始就猜不出来的话,请阅读AHK的帮助文件。

1.现在,剩下的就是一劳永逸地个性化你的Windows 7笔记本电脑了(除非组策略阻止你(用户)改变事情,否则你可以随时改变事情)。当你满意的时候,将得到的Themepack保存在你在脚本中给出的路径上(即 “C:\Laptop theme.hemepack"),然后done

  1. 注意:如果你不能在 "C:\"上保存任何东西,那么你可以把主题包放在任何地方–包括在你的个人用户文件夹里。这样做的好处是,即使IT部门更换你的笔记本,你也可以保留这个脚本–只要他们愿意备份你的用户文件夹。我个人的口味是保持简短,如果可以的话,我不喜欢在启动时连接到网络共享。我可以的。
1
1
1
2013-05-15 14:35:04 +0000

只需将您的 “考拉 "壁纸保存在您的保单正在使用的默认壁纸文件上即可。

1
1
1
2012-01-16 11:56:47 +0000

如果服务器通过GPO来控制你的壁纸,那么每次登录或更新GPO时,你都必须重新设置壁纸。

你可以创建一个reg文件,修改正确的值,并将其保存在桌面上,每次登录时运行这个文件,就可以在每次登录后得到你想要的壁纸。使用Thane提供的注册表Key并导出正确的值。任何时候你导入这个,它都会将注册表修改为你想要的值。

需要考虑的事情。

你这样做是否违反了公司的IT政策?
你能修改注册表,并创建启动任务来修改注册表吗?
是否值得这么麻烦?

0
0
0
2013-11-06 11:16:06 +0000

刚才一直在尝试这个。当你把一个用户复制到默认用户时,它会保留一个硬编码的路径到原用户的主题区域,所以我想把原用户的背景改成一个常用的区域。

我发现你需要在路径上加上双反斜杠"\“,即 "C:\Users.….",否则.reg条目会被忽略!我想,如果你的用户没有被复制,那么你就会被忽略。

0
0
0
2015-01-13 18:37:28 +0000

也许不是每个人在每个情况下都能找到答案,但值得排除的是:你必须注销并重新登录才能使设置生效。(正如其他人所指出的那样,如果你正在与GPO作斗争,这不会有任何帮助,因为这将使它正确地设置回来)。

在我的Win7设置中,我将HKEY_CURRENT_USER\Control Panel\Desktop/Wallpaper设置为某种图像,但这对实际的桌面背景没有任何作用,尽管在控制面板->个性化中,它看起来像设置已经生效。这把我逼疯了,直到我意识到登出和重新登录会使新的壁纸生效。

更新9/8:这并没有回答OP的问题,因为它并不只使用注册表,但作为后续,我一直没有找到一个令人满意的方法来改变壁纸,只使用注册表。如果你能写并部署一些代码,我发现用SystemParametersInfo标志调用 SPI_SETDESKWALLPAPER 的Win32调用可以使壁纸立即生效,而不需要登出/登录的舞蹈。详情请看 本回答 。同样,如果你正在与GPO争夺对该设置的控制权,这也无济于事。

-1
-1
-1
2018-08-02 23:13:58 +0000

我意识到这是一个老问题。然而,我不得不解决这个问题,而且解决的方法有点偷偷摸摸。

设置注册表条目指向你想要的设置,然后设置它们的权限,允许每个人读取,但阻止任何人(包括系统)有权限更改它。

当GPO去处理它时,它将得到一个拒绝访问该特定设置的消息,因此你只能使用你想要的设置。

如果文件在你的本地系统上,不要使用相同的文件名,除非你对实际的镜像也使用这个技巧,否则策略可能会覆盖你的文件。