Изменить фон машины 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
Попробуйте использовать двойную косую черту в обоях.
тан

Ответы:


9

Перейдите к

HKEY_CURRENT_USER \ Панель управления \ Рабочий стол

и измените значение ключа обоев на полный путь вашего изображения.


9
И каждый раз, когда вы входите в систему, GPO будет сбрасывать ваши обои на исходные.
Джо Тейлор

1
@JoeTaylor - Нет, если вместо изменения пути вы найдете Путь и замените изображение нужным изображением, но с тем же именем. :)
Суамер

1
@Suamere - Что, если он размещен на сервере (что должно быть), было бы невозможно для обычного пользователя.
Джо Тейлор

3

Я знаю, что это старый шаг, а Windows 7 - операционная система, которая быстро устаревает. Но для случайного пользователя: я годами занимался этим в своем магазине. Я достаточно близок к ИТ, чтобы иметь определенные привилегии на моем ноутбуке, но не настолько близко, чтобы прекратить делать глупые объекты групповой политики, что, конечно, также влияет на меня.

В XP я уверен, что в Windows 7 это просто вдохновение: изменения такого рода в Реестре не вступят в силу, пока вы не перезагрузите систему! А поскольку вы пытаетесь обойти объект групповой политики, во многих ситуациях это равнозначно «невозможной миссии». Однако есть способ принудительно применить обновление реестра без перезагрузки ...

Дело в том, что вам не нужно перезагружаться - вам нужно очистить кэш настроек реестра, что является частью перезагрузки .

Решение (по крайней мере на 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: таким образом, мой компьютер запустился с моими собственными обоями, и, когда объект групповой политики обновляет пару раз в течение дня, я нажимаю клавишу быстрого доступа, и вернуть мой предпочтительный вид (который бесконечно красивее, чем «черный экран депрессии», который является акцией компании) ;-)

У меня пока нет времени, чтобы исправить это на моем новом ноутбуке (под управлением Win 7), но я думаю, что кто-то может получить вдохновение от этого (XP) поведения и продолжить исследования.


1
@Ramhound - Ну, голосование с понижением - это немного опрометчиво, если вы спросите меня! Конечно, у меня нет - иначе я бы так сказал - и не писал: «У меня пока нет времени, чтобы исправить это на моем новом ноутбуке (под управлением Win 7), но я думаю, что кто-то может вдохновиться этим (XP) поведение и исследования дальше. " Я наткнулся на эту страницу в поисках способа сделать это на моей коробке с Win 7 ... и если бы у вас было немного терпения, вы бы увидели мое обновление, которое будет дальше ...
Hansjp

Я просто удалил свои комментарии, чтобы избежать ненужных
пингов

2

Для тех из вас, кто все еще имеет дело с коробками XP, я оставляю свой предыдущий ответ без изменений.

Однако теперь я могу поделиться подходом к решению проблемы в Windows 7:

  1. Как я уже говорил ранее, вы не хотите перезагружать компьютер, потому что вы
    боретесь с групповой политикой, которая применяется при перезагрузке (и в моем
    личном случае, каждые несколько часов в течение дня). Тем не менее, изменения
    в реестре требуют сброса обналиченных настроек, прежде чем они станут
    активными. Перезагрузка делает это.

Нам нужно найти другой способ достижения цели: «изменить фоновый рисунок Windows 7»… - я пропускаю часть «использование реестра», потому что не думаю, что это возможно, и, честно говоря, я не думаю, что это правильный подход в Windows 7! Это было на XP - как я уже говорил в моем предыдущем ответе.

Волшебное слово теперь "Themepack" - и волшебное знание: "Это выполнимо!" Что вам нужно, так это автоматизированный метод его выполнения и устранения его последствий.

  1. Я использую AutoHotkey версии 1.1 ( http://ahkscript.org/ ) для нескольких вещей на моем ноутбуке, и если у вас есть разрешения, необходимые для запуска этой программы, вы можете пойти:
  2. (Предполагая, что вы ничего не делаете с AutoHotkey): создайте txt-файл, назовите его как угодно, но дайте ему расширение «.ahk» вместо «.txt» и сохраните его в папке «Автозагрузка» («C: \ Users \»). вставьте ваше имя пользователя \ AppData \ Roaming \ Microsoft \ Windows \ Пуск \ Программы \ Автозагрузка в моем случае). Теперь он будет работать при каждом запуске.

Отредактируйте файл с помощью Блокнота или аналогичного инструмента: вставьте эти строки:

    ; 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: \», вы можете поместить пакет тем куда угодно, в том числе в свои личные папки пользователя. Преимущество этого заключается в том, что вы сохраняете сценарий даже тогда, когда ИТ-отдел меняет ваш ноутбук - при условии, что они заботятся о резервном копировании пользовательских папок. Мой личный вкус - просто быть кратким, и мне не нравится подключаться к сетевым ресурсам во время запуска, если я могу помочь. Что я могу.


1
И конечно .. очевидное всегда прячется на виду! Вы можете просто сохранить Themepack в папке «Автозагрузка»! ... Это все, что вам нужно для автоматического выполнения при запуске. Я считаю, что по правилу это всегда будет выполняться после GPO - по крайней мере, в моей системе. Единственный недостаток: вам нужно вручную закрыть окно настроек, когда вы не пишете эту часть. Но это избавляет вас от проблем с AutoHotkey, так что я думаю, стоит упомянуть.
Hansjp

Итак ... как создать Themepack?
Эмануэле Цириачи

1
Вы не можете не иметь его. Windows создаст один для вас при загрузке операционной системы. Если вы внесете изменения, скажем, в изображение рабочего стола, «несохраненная тема» появится сама по себе. Все, что вам нужно сделать, это 1) сохранить его, чтобы получить файл, и 2) скопировать файл в место размещения, где он находится. Чтобы найти его: щелкните правой кнопкой мыши на рабочем столе, выберите «Личные настройки».
Hansjp

1

Если Сервер управляет вашими обоями через объект групповой политики, вам придется сбрасывать фоновые рисунки при каждом входе в систему или обновлении объекта групповой политики на вашем компьютере.

Вы можете создать reg-файл, корректно изменяющий значения, и сохранить его на рабочем столе, так как этот запуск при каждом входе в систему даст вам обои, которые вы хотите после каждого входа. Используйте ключ реестра, предоставленный Тэйном, и экспортируйте правильное значение. Каждый раз, когда вы импортируете это, он изменит реестр на нужное вам значение.

Что нужно учитывать:

Вы нарушаете ИТ-политику компании, делая это?
Можете ли вы изменить реестр? и создавать задачи запуска для этого? т.е. есть ли у вас привилегии?
Это стоит хлопот?


Я могу редактировать реестр. Можете ли вы дать мне представление о том, как я могу создать рег файл и все. ?
Рауф

Пожалуйста, смотрите мое редактирование.
Рауф

Если вы просто импортируете ключ реестра вручную. т.е. двойной щелчок по нему. Это работает?
Джо Тейлор

Нет, это не работает
Рауф

Я определенно хотел бы поговорить с вашим отделом ИТ об этом. Есть ряд настроек GP, которые могут изменить / помешать пользователю менять обои. если они сделали это по какой-то причине, вы можете оказаться в горячей воде, чтобы покопаться в реестре и изменить его.
Джо Тейлор

1

Просто сохраните ваши обои «коала» поверх файла обоев по умолчанию, который использует ваша политика.


Этот файл, вероятно, не доступен для записи во всем мире, и OP не говорит, что у него есть административные привилегии.
G-Man говорит: «Восстановите Монику»

Сработало для меня, но вы правы, это может не сработать для него.
MattPark

0

Просто пытался это. Когда вы копируете пользователя для пользователя по умолчанию, он сохраняет жестко заданный путь к области тем оригиналов, поэтому я пытался изменить фон исходных пользователей на общедоступную область.

Я обнаружил, что вам нужно поставить двойную обратную косую черту "\\" на пути, т.е. «C: \\ Users \\ .....» в противном случае запись .reg игнорируется!


0

Вероятно, не ответ для всех в каждом случае, но это стоит исключить: вы должны выйти и снова войти, чтобы настройки вступили в силу. (Это, как отметили другие, не поможет, если вы сражаетесь с GPO, потому что это вернет его обратно.)

На моей установке Win7 я настраивал HKEY_CURRENT_USER \ Control Panel \ Desktop \ Wallpaper на какое-то изображение, и это никак не отразилось бы на фактическом фоне рабочего стола, хотя в Панели управления -> Персонализация это выглядело бы так, как будто настройки вступили в силу. Это сводило меня с ума, пока я не осознал, что выход из системы и возврат к ней заставят завладеть новыми обоями.

Обновление 9/8: Это не отвечает на вопрос ОП, поскольку он не только использует реестр, но и как продолжение, я никогда не находил удовлетворительный способ изменить обои, используя только реестр. Если вы можете написать и развернуть некоторый код, я обнаружил, что вызов Win32 SystemParametersInfoс SPI_SETDESKWALLPAPERфлагом заставил обои вступить в силу немедленно без танца «выход / выход». Смотрите этот ответ для деталей. Опять же, это не поможет, если вы сражаетесь с GPO за контроль над этим параметром.


Вы упоминаете о проблеме, связанной с выходом из системы пользователя, чтобы применить настройку, но если вы сделаете это, GPO вступит в силу, но не упомянет, как с этим справиться.
Ramhound

Извините, я попытался упомянуть в своем ответе, что это полезно только в том случае, если у вас GPO не переопределяет настройку.
user1454265

Кроме того, это может или не может помочь в вашей ситуации, но стоит продолжить - я никогда не находил удовлетворительный способ изменить обои, используя только реестр. В итоге я остановился на решении, которое использовало вызов Win32 для SystemParametersInfo. См: stackoverflow.com/questions/1061678/...
user1454265

Обновил мой ответ.
user1454265

Ramhound: Я обновил свой ответ в точности так, как вы просили, но вы удалили свои комментарии и преобразовали в понижающую оценку. Можем ли мы поговорить об этом в чате? Я честно пытаюсь помочь здесь с тем небольшим, что я могу внести.
user1454265

-1

Я понимаю, что это старый. Я, однако, должен был решить эту самую проблему, и способ сделать это немного подлый.

Установите запись реестра, чтобы указать нужные параметры, затем установите разрешения для них, чтобы разрешить каждое чтение, но запретить кому-либо (включая систему) иметь разрешения на его изменение.

Когда объект групповой политики переходит к его обработке, ему будет отказано в доступе к этой конкретной настройке, и поэтому вы застряли с нужными настройками.

Если файл находится в вашей локальной системе, не используйте одно и то же имя файла, если только вы не выполните этот трюк для реального изображения, иначе политика может перезаписать ваш файл.


1
Может быть, мне нужно больше кофе, но разве это не противоречит тому, о чем вопрос?
fixer1234

... и на самом деле не дает решения, просто какое-то объяснение.
not2qubit
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.