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"

Я что-то пропустил? Это не работает :(

8 ответов8

9

Перейдите к

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

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

3

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

В 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

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

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

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

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

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

  1. Я использую AutoHotkey версии 1.1 (http://ahkscript.org/) для нескольких вещей на моем ноутбуке, и если у вас есть разрешения, необходимые для запуска этой программы, вы можете пойти:
  2. (Предполагая, что вы ничего не делаете с AutoHotkey): создайте txt-файл, назовите его как угодно, но дайте ему расширение «.ahk» вместо «.txt» и сохраните его в папке "Автозагрузка" («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:\», вы можете поместить пакет тем куда угодно, в том числе в свои личные папки пользователя. Преимущество этого заключается в том, что вы сохраняете сценарий даже тогда, когда ИТ-отдел меняет ваш ноутбук - при условии, что они заботятся о резервном копировании ваших пользовательских папок. Мой личный вкус - просто быть кратким, и я не люблю подключаться к сетевым ресурсам во время запуска, если могу помочь. Что я могу.

1

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

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

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

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

1

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

0

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

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

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

0

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

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

-1

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .