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


18

我将机器连接到工作组。更改墙纸的设置位于服务器计算机中,以便所有计算机都具有相同的墙纸。现在如何使用注册表更改机器的墙纸?

阅读一些答案后,

我创建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"

我有什么想念的吗?它不起作用:(


1
尝试在墙纸路径中使用双斜杠。
thane 2012年

Answers:


9

导航

HKEY_CURRENT_USER \控制面板\桌面

并将“ 墙纸”关键值更改为图像的完整路径。


9
每次登录时,GPO都会将您的壁纸重置为原始壁纸。
Joe Taylor

1
@JoeTaylor-如果不是找到路径而不是更改路径,而是用所需的图像替换图像,而是使用相同的名称,则不是这样。:)
Suamere 2015年

1
@Suamere-如果是服务器托管(应该托管),对于普通用户是不可能的。
乔·泰勒

3

我知道这是一个古老的脚步,而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机器很有效(起作用),诀窍是最后一行:作为bat文件的一部分执行“ user32.dll,UpdatePerUserSystemParameters”。这代替了“重新引导”。:-)

我将其放在“开始”文件夹中,并向bat文件添加了快捷键组合:这样,我的电脑就以我自己的墙纸开始,并且当GPO在一天中刷新两次后,我按下了快捷键,然后得到我的首选观点(这比公司股票“萧条的黑屏”无限漂亮);-)

我还没有在新笔记本电脑(运行Win 7)上修复此问题的方法,但是我想那里的某个人可能会受到(XP)行为的启发并进一步研究。


1
@Ramhound-好吧,如果你问我的话,这有点不明智!当然,我还没有-否则我会这么说-并且没有写“我还没有在我的新笔记本电脑(运行Win 7)上解决此问题的方法,但是我想那里的某个人可能会因此而受到启发(XP)的行为和进一步研究。” 我碰到了该页面,寻找在Win 7盒子上执行此操作的方法...如果您有一点耐心,您将看到我的下一个更新...
Hansjp,2015年

我刚刚删除了我的评论以避免不必要的ping
Ramhound

2

对于那些仍然在使用XP包装盒的人,我保留我以前的答案。

但是,我现在可以分享一种在Windows 7盒子上解决问题的方法:

  1. 如前所述,您不希望重新启动计算机,因为您正在
    与重新启动时强制执行的组策略(对于我
    个人而言,一天中每隔几个小时)就存在冲突。但是,
    对注册表所做的更改在
    启用之前需要先进行大量现金设置。重新启动即可。

我们需要找到另一种实现目标的方式:“更改Windows 7机器的背景” ...-我跳过了“使用注册表”部分,因为我认为这是不可能的,坦率地说,我认为这不是Windows 7上的正确方法!它在XP上-正如我在之前的回答中所述。

现在魔术词是“ Themepack”-魔术知识是:“它是可执行的!” 您需要的是一种自动执行它并处理其潜在后果的方法。

  1. 我将AutoHotkey版本1.1(http://ahkscript.org/)用于笔记本电脑上的许多东西,如果您具有运行此程序所需的权限,则可以执行以下操作:
  2. (假设您对AutoHotkey不执行任何其他操作):创建一个txt文件,将其命名为任何文件,但为其扩展名为“ .ahk”而不是“ .txt”,然后将其保存到Startup文件夹(“ C:\ Users \ 在我的情况下,请插入您的用户名 \ 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.themepack”)上,然后完成

  2. 注意:如果无法在“ C:\”上保存任何内容,则可以将主题包放在任何位置-包括在个人用户文件夹中。这样的好处是,即使IT部门正在更换您的笔记本电脑,您也可以保留该脚本-只要他们愿意备份您的用户文件夹即可。我的个人爱好只是使事情简短,如果可以帮助,我不喜欢在启动过程中连接到网络共享。我可以的。


1
当然,..显而易见的东西总是隐藏在看不见的地方!您只需 Themepack 保存在“启动”文件夹中即可!...这就是您想要的所有“启动时自动执行”的功能。我相信按照惯例,它将始终 GPO 之后执行-至少在我的系统上如此。唯一的缺点:如果不编写脚本,则需要手动关闭设置窗口。但这可以省去AutoHotkey的麻烦,因此我想值得一提。
Hansjp

那么...如何创建一个主题包?
Emanuele Ciriachi

1
你不禁拥有一个。Windows在启动操作系统时为您构建一个。例如,如果您更改了桌面图像,则“未保存的主题”将单独显示。您所需要做的就是1)保存文件以获取文件,2)将文件复制到放置它的位置。要找到它:右键单击桌面,选择个人设置。
Hansjp '18年

1

如果服务器通过GPO控制墙纸,则每次登录或在计算机上更新GPO时都必须重置墙纸。

您可以创建一个正确修改值的reg文件,然后将其保存在桌面上,这样在每次登录时运行都会为您提供每次登录后所需的墙纸。使用Thane提供的注册表项并导出正确的值。每次导入时,它都会将注册表修改为所需的值。

注意事项:

您是否违反公司的IT政策?
您可以修改注册表吗?并创建启动任务来执行此操作?即你有特权吗?
这值得麻烦吗?


我可以编辑注册表。您能给我关于如何创建reg文件和所有文件的想法吗??
拉夫

请看我的编辑。
拉夫

如果您只是手动导入注册表项。即双击它。它行得通吗?
乔·泰勒

不,它不起作用。
拉夫

我绝对会考虑与您的IT部门讨论此事。有许多GP设置可以更改/阻止用户更改墙纸。如果他们这样做是出于某种原因,那么您可能会发现自己陷入困境,无法在注册表中乱搞并对其进行更改。
乔·泰勒

1

只需将您的“考拉”壁纸保存在您的政策使用的默认壁纸文件中即可。


该文件可能不是世界可写的,并且OP并没有说他具有管理特权。
G-Man说'恢复莫妮卡'

为我工作,但您是对的,可能对他不起作用。
MattPark

0

刚刚尝试过这个。当您将用户复制到默认用户时,它会保留原始用户主题区域的硬编码路径,因此我试图将原始用户背景更改为常用区域。

我发现您需要在路径上加上双反斜杠“ \\”。“ C:\\ Users \\ .....”,否则.reg条目将被忽略!


0

在每种情况下可能都不是每个人的答案,但是值得排除在外:您必须先注销然后重新登录才能使设置生效。(正如其他人所指出的那样,如果您正在与GPO对抗,这将无济于事,因为那样会使您立即倒退。)

在Win7设置中,我将HKEY_CURRENT_USER \ Control Panel \ Desktop \ Wallpaper设置为某些图像,这对实际的桌面背景无济于事,尽管在Control Panel-> Personalization中,设置似乎已生效。这让我发疯,直到我意识到注销并重新登录将使新墙纸占据上风。

更新9/8: 这不能回答OP的问题,因为它不仅使用注册表,而且作为后续工作,我从未找到仅使用注册表来更改墙纸的令人满意的方法。如果您可以编写和部署一些代码,则发现SystemParametersInfo带有SPI_SETDESKWALLPAPER标志的Win32调用使墙纸立即生效,而无需注销/登录。有关详细信息,请参见此答案。同样,如果您要与GPO争夺对该设置的控制权也无济于事。


您提到了必须注销用户才能应用设置的问题,但是如果您这样做,GPO会生效,但没有提及如何处理。
Ramhound,2015年

抱歉,我想在回答中提到这仅在您没有GPO覆盖设置的情况下才有用。
user1454265 2015年

另外,这可能对您的情况有所帮助,也可能无济于事,但是值得继续进行下去-我从未找到仅使用注册表更改墙纸的令人满意的方法。我最终选择了使用Win32调用SystemParametersInfo的解决方案。请参阅:stackoverflow.com/questions/1061678/...
user1454265

更新了我的答案。
user1454265 2015年

Ramhound:我完全按照您的要求更新了答案,但是您删除了评论并转换为不赞成投票。我们可以在聊天中说出来吗?老实说,我会尽我所能提供些帮助。
user1454265 2015年

-1

我意识到这很旧。但是,我不得不解决这个问题,并且这样做的方法有点偷偷摸摸。

将注册表项设置为指向所需的设置,然后对它们设置权限以允许每次读取,但阻止任何人(包括系统)拥有更改它的权限。

当GPO处理该GPO时,它将获得对该特定设置拒绝的访问权限,因此您仍然需要使用所需的设置。

如果文件在本地系统上,请不要使用相同的文件名,除非您也对实际映像执行此操作,否则策略可能会覆盖您的文件。


1
也许我需要更多的咖啡,但这不是这个问题的对立面吗?
fixer1234 '18

...实际上并没有提供解决方案,只是一些解释。
not2qubit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.