I’ve been trying to set my wallpaper in Windows 10 by doing the following in a command prompt window:
reg add "HKEY_CURRENT_USERControl PanelDesktop" /v Wallpaper /t REG_SZ /d wallpaper_directory /f
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
This works once, but then if I try to change the wallpaper soon after it, it does not work.
Am I doing something wrong or how do I fix this?
Mofi
44.8k16 gold badges77 silver badges137 bronze badges
asked Oct 27, 2017 at 23:11
Logan DavenportLogan Davenport
1711 gold badge2 silver badges6 bronze badges
1
It is very simple go to C:UsersyournameAppDataRoamingMicrosoftWindowsThemes here you find one image with name TranscodedWallpaper. Rename your image to TranscodedWallpaper and replace in this location(don’t keep extension). Do same thing inside cachedFile folder also.
After exicute RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True then your wallpaped got change
answered Jun 18, 2019 at 6:30
Apparently, «RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters» (with or without «1, True» or «2, True») leads to inconsistent results (at least on my PC). I found the following PowerShell script, that always works on my PC: https://c-nergy.be/blog/?p=15291, option 2:
#-------------------------------------------------------------------#
# ScriptName : SetWall.ps1 #
# Description : Force a Desktop wallpaper Refresh #
# Credits : Unknown (if you know original creator, let us know) #
# #
# Date : 01 July 2020 #
#-------------------------------------------------------------------#
#Modify Path to the picture accordingly to reflect your infrastructure
$imgPath="\Domain.labnetlogonWallpaper.png"
$code = @'
using System.Runtime.InteropServices;
namespace Win32{
public class Wallpaper{
[DllImport("user32.dll", CharSet=CharSet.Auto)]
static extern int SystemParametersInfo (int uAction , int uParam , string lpvParam , int fuWinIni) ;
public static void SetWallpaper(string thePath){
SystemParametersInfo(20,0,thePath,3);
}
}
}
'@
add-type $code
#Apply the Change on the system
[Win32.Wallpaper]::SetWallpaper($imgPath)
answered Apr 18, 2021 at 10:17
0
I’ve been trying to set my wallpaper in Windows 10 by doing the following in a command prompt window:
reg add "HKEY_CURRENT_USERControl PanelDesktop" /v Wallpaper /t REG_SZ /d wallpaper_directory /f
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
This works once, but then if I try to change the wallpaper soon after it, it does not work.
Am I doing something wrong or how do I fix this?
Mofi
44.8k16 gold badges77 silver badges137 bronze badges
asked Oct 27, 2017 at 23:11
Logan DavenportLogan Davenport
1711 gold badge2 silver badges6 bronze badges
1
It is very simple go to C:UsersyournameAppDataRoamingMicrosoftWindowsThemes here you find one image with name TranscodedWallpaper. Rename your image to TranscodedWallpaper and replace in this location(don’t keep extension). Do same thing inside cachedFile folder also.
After exicute RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True then your wallpaped got change
answered Jun 18, 2019 at 6:30
Apparently, «RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters» (with or without «1, True» or «2, True») leads to inconsistent results (at least on my PC). I found the following PowerShell script, that always works on my PC: https://c-nergy.be/blog/?p=15291, option 2:
#-------------------------------------------------------------------#
# ScriptName : SetWall.ps1 #
# Description : Force a Desktop wallpaper Refresh #
# Credits : Unknown (if you know original creator, let us know) #
# #
# Date : 01 July 2020 #
#-------------------------------------------------------------------#
#Modify Path to the picture accordingly to reflect your infrastructure
$imgPath="\Domain.labnetlogonWallpaper.png"
$code = @'
using System.Runtime.InteropServices;
namespace Win32{
public class Wallpaper{
[DllImport("user32.dll", CharSet=CharSet.Auto)]
static extern int SystemParametersInfo (int uAction , int uParam , string lpvParam , int fuWinIni) ;
public static void SetWallpaper(string thePath){
SystemParametersInfo(20,0,thePath,3);
}
}
}
'@
add-type $code
#Apply the Change on the system
[Win32.Wallpaper]::SetWallpaper($imgPath)
answered Apr 18, 2021 at 10:17
0
I am running Mint 13 with Cinnamon 1.6. I would like my desktop wallpaper to automatically change depending on the time of day. So, the first thing that comes to mind is setting up a cron job to do it for me. Problem is, I don’t know how to change the wallpaper from script / terminal.
What I would like to know:
1) How would one change the background from terminal?
2) Is the there already a built-in way of doing this?
asked Dec 28, 2012 at 8:14
2
This is the correct answer to the question. Anything else would just be a hack
gsettings set org.cinnamon.desktop.background picture-uri "file:///filename"
answered Mar 11, 2014 at 23:39
3
With Linux Mint 16 (not sure about other versions) you can use gsettings to both get information about your current wallpaper as well as set it.
The man gsettings is a little thin, but TAB completion will work at most steps in the following commands.
Get info:
gsettings get org.cinnamon.desktop.background picture-uri
gsettings get org.cinnamon.desktop.background picture-opacity
gsettings get org.cinnamon.desktop.background picture-options
To change any option, simply change «get» to «set» and add the new value to the end.
Here is a quick script that will cycle over a known list of wallpapers:
#!/bin/sh
#
# Set the wallpaper from a list
#
# The list, all can be found in $BASE
BASE="file:///home/tigger/.wallpapers/"
LIST="shot1.png another.png just_no_space_in_name.png keep_adding.png"
# The current wallpaper
current=`gsettings get org.cinnamon.desktop.background picture-uri`
opacity=`gsettings get org.cinnamon.desktop.background picture-opacity`
options=`gsettings get org.cinnamon.desktop.background picture-options`
# loop over the list until we find a match
matched=0
new=""
for wp in $LIST
do
if [ $matched -eq 1 ]
then
new="${BASE}${wp}"
break
elif [ "'${BASE}${wp}'" = "${current}" ]
then
matched=1
fi
done
# if "$new" is blank, then we show the first shot
if [ "$new" = "" ]
then
new=${BASE}${LIST%% *}
fi
# set the wallpaper
gsettings set org.cinnamon.desktop.background picture-uri '${new}'
gsettings set org.cinnamon.desktop.background picture-opacity ${opacity}
gsettings set org.cinnamon.desktop.background picture-options ${options}
answered Mar 13, 2014 at 6:01
TiggerTigger
3,31422 silver badges18 bronze badges
In terms of the x window system you want to change the background of the root window. The «builtin»-tool to change the settings of this window is xsetroot. Unfortunately it’s a bit outdated, for instance it only supports to choose bitmaps for the background-image.
I prefer the tool hsetroot over xsetroot. Both tools must be used from the command line.
Moreover I can imagine that you can adjust settings of the root window via the x resource database but i can’t find related informations by now.
answered Dec 28, 2012 at 9:36
user1146332user1146332
2,21412 silver badges14 bronze badges
1
Works for me on Linuxmint 13 with Cinnamon 1.4.
cinnamon-settings desktop# in terminal > Untick «Let file manager handle the desktop»- change your wallpaper with feh
feh --bg-fill ~/Images/my_wallpaper.png
answered Mar 9, 2013 at 8:31
Try this:
xsetbg /path/to/wallpaper.jpg
answered Dec 28, 2012 at 16:09
Emanuel BergEmanuel Berg
6,5837 gold badges41 silver badges65 bronze badges
2
There is something called DesktopNova.
answered Dec 28, 2012 at 9:00
elwcelwc
2631 gold badge2 silver badges8 bronze badges
I am running Mint 13 with Cinnamon 1.6. I would like my desktop wallpaper to automatically change depending on the time of day. So, the first thing that comes to mind is setting up a cron job to do it for me. Problem is, I don’t know how to change the wallpaper from script / terminal.
What I would like to know:
1) How would one change the background from terminal?
2) Is the there already a built-in way of doing this?
asked Dec 28, 2012 at 8:14
2
This is the correct answer to the question. Anything else would just be a hack
gsettings set org.cinnamon.desktop.background picture-uri "file:///filename"
answered Mar 11, 2014 at 23:39
3
With Linux Mint 16 (not sure about other versions) you can use gsettings to both get information about your current wallpaper as well as set it.
The man gsettings is a little thin, but TAB completion will work at most steps in the following commands.
Get info:
gsettings get org.cinnamon.desktop.background picture-uri
gsettings get org.cinnamon.desktop.background picture-opacity
gsettings get org.cinnamon.desktop.background picture-options
To change any option, simply change «get» to «set» and add the new value to the end.
Here is a quick script that will cycle over a known list of wallpapers:
#!/bin/sh
#
# Set the wallpaper from a list
#
# The list, all can be found in $BASE
BASE="file:///home/tigger/.wallpapers/"
LIST="shot1.png another.png just_no_space_in_name.png keep_adding.png"
# The current wallpaper
current=`gsettings get org.cinnamon.desktop.background picture-uri`
opacity=`gsettings get org.cinnamon.desktop.background picture-opacity`
options=`gsettings get org.cinnamon.desktop.background picture-options`
# loop over the list until we find a match
matched=0
new=""
for wp in $LIST
do
if [ $matched -eq 1 ]
then
new="${BASE}${wp}"
break
elif [ "'${BASE}${wp}'" = "${current}" ]
then
matched=1
fi
done
# if "$new" is blank, then we show the first shot
if [ "$new" = "" ]
then
new=${BASE}${LIST%% *}
fi
# set the wallpaper
gsettings set org.cinnamon.desktop.background picture-uri '${new}'
gsettings set org.cinnamon.desktop.background picture-opacity ${opacity}
gsettings set org.cinnamon.desktop.background picture-options ${options}
answered Mar 13, 2014 at 6:01
TiggerTigger
3,31422 silver badges18 bronze badges
In terms of the x window system you want to change the background of the root window. The «builtin»-tool to change the settings of this window is xsetroot. Unfortunately it’s a bit outdated, for instance it only supports to choose bitmaps for the background-image.
I prefer the tool hsetroot over xsetroot. Both tools must be used from the command line.
Moreover I can imagine that you can adjust settings of the root window via the x resource database but i can’t find related informations by now.
answered Dec 28, 2012 at 9:36
user1146332user1146332
2,21412 silver badges14 bronze badges
1
Works for me on Linuxmint 13 with Cinnamon 1.4.
cinnamon-settings desktop# in terminal > Untick «Let file manager handle the desktop»- change your wallpaper with feh
feh --bg-fill ~/Images/my_wallpaper.png
answered Mar 9, 2013 at 8:31
Try this:
xsetbg /path/to/wallpaper.jpg
answered Dec 28, 2012 at 16:09
Emanuel BergEmanuel Berg
6,5837 gold badges41 silver badges65 bronze badges
2
There is something called DesktopNova.
answered Dec 28, 2012 at 9:00
elwcelwc
2631 gold badge2 silver badges8 bronze badges
есть ли возможность командной строки, чтобы изменить цвет фона рабочего стола Windows?
Я хочу установить фон рабочего стола для использования сплошных цветов (синий — rgb: 57, 109, 166) без фонового изображения. Единственное чтение, которое я нахожу, о том, как изменить обои для рабочего стола.
источник
фон хранится в реестре. Есть несколько различных способов установить его. Но есть несколько способов установить значение реестра через командную строку.
чтобы установить фон на определенный цвет, вам нужно снять любые обои и установить цвет.
HKEY_CURRENT_USERControl PanelColorsBackground = 'r g b'
HKEY_CURRENT_USERControl PanelDesktopWallpaper = ''
отвечен Zoredache 2014-12-10 22:13:51
источник
Я не думаю, что это вариант, но вы можете легко изменить цвет фона, щелкнув правой кнопкой мыши на рабочем столе, выбрав «Персонализация», выбрав «фон рабочего стола» и выбрав «сплошные цвета». Кроме того, вы можете сделать 1 пиксель х 1 пиксель изображения цвета вы хотите, и установить в качестве фона изображения.
источник
Если вы хотите сделать это автоматически, например, с помощью сценария входа или пакетного файла, вы можете использовать следующее:
ECHO Clearing Background ...
reg add "HKEY_CURRENT_USERControl PanelDesktop" /v WallPaper /t REG_SZ /d " " /f
reg add "HKEY_CURRENT_USERControl PanelColors" /v Background /t REG_SZ /d "0 0 0" /f
отвечен Klondicke 2018-03-16 20:44:50
источник
В Windows 11 есть несколько способ изменить тему оформления, включая возможность сменить тему из командной строки. В дополнение к опции «Персонализация» в приложении «Параметры» мы рассмотрим, как для этого использовать проводник, командную строку и PowerShell, классическую Панель управления и еще несколько методов.
Тема в Windows 11 может включать в себя один или несколько фонов рабочего стола, набор звуков, курсоры мыши, значки рабочего стола. Тема также определяет цвет акцента для приложений и оконных рамок.
Пользователь может устанавливать новые темы из Магазина Microsoft или из локально загруженного файла. Такие файлы могут иметь расширения *.theme, *.themepack и *.deskthemepack.
Файл *.theme — это классический текстовый файл с секциями параметров и их значениями. Все его ресурсы, такие как обои, обычно находятся в подкаталоге.
Файлы Themepack и Deskthemepack представляют собой архивы (ZIP или CAB), содержащие все ресурсы темы. Microsoft использует эти пакеты, начиная с Windows 7, для упрощения обмена темами и их распространения через Магазин.
В Windows 11 у вас могут быть темы следующих трех типов.
- «Мои темы» — это темы, которые вы создали («сохранили») вручную или установили из файла *.themepack или Microsoft Store. Windows сохраняет их в папке %localappdata%MicrosoftWindowsThemes.
- Темы Windows по умолчанию — это предустановленные темы. Вы найдете их в папке C:WindowsResourcesThemes.
- Высококонтрастные темы — эти темы являются частью функции Ease of Access. Они сделаны специально для людей с проблемами зрения. Проверьте содержимое папки C:WindowsResourcesEase of Access Themes.
Самый простой способ изменить тему в Windows 11 — щелкнуть правой кнопкой мыши рабочий стол и выбрать «Персонализация» в контекстном меню.
В следующем окне просто нажмите на понравившуюся тему, и все готово.
В качестве альтернативы вы можете использовать приложение «Настройки», проводник, командную строку и даже устаревшую панель управления для того же. Рассмотрим эти методы подробно.
Изменить тему Windows 11 в Параметрах
- Откройте приложение «Параметрах», нажав Win + I или используя ярлык меню «Пуск».
- Нажмите Персонализация слева.
- Справа щелкните миниатюру предварительного просмотра темы, чтобы сразу применить ее.
- Если вы не видите нужную тему, нажмите кнопку Темы ниже.
- На следующей странице выберите тему, которая вам нравится. Windows 11 изменит текущую тему на выбранную.
- Наконец, вы можете добавить дополнительные темы из Магазина, нажав кнопку «Обзор тем».
На той же странице вы можете настроить текущую тему, изменив ее отдельные параметры, такие как фоновое изображение, курсоры и цвета, с помощью кнопок под предварительным просмотром темы.
Кроме того, вы можете использовать классический диалог «Персонализация». Он по-прежнему доступен в Windows 11, но скрыт от пользователя. Для открытия нужно использовать специальную команду.
Использование классической Панели управления
- Нажмите Win + R, чтобы открыть окно «Выполнить».
- Скопируйте и вставьте следующую команду и нажмите Enter:
shell:::{ED834ED6-4B5A-4bfe-8F11-A626DCB6A921}. - Щелкните нужную тему в разделах «Мои темы», «Темы Windows по умолчанию» или «Темы высокой контрастности».
- Как только Windows 11 изменит тему, вы можете закрыть окно Панели управления.
Изменить тему из Проводника
Поскольку все три каталога тем известны, вы можете открыть их в Проводнике и напрямую щелкнуть файл *.theme, чтобы применить его. Сделайте следующее.
- Откройте Проводник, нажав Win + E или щелкнув его ярлык на панели задач или в меню «Пуск».
- Перейдите в папку, содержащую тему, которую вы хотите применить, например. C:WindowsResourcesThemes.
- Дважды щелкните файл *.theme нужной темы.
- Закройте приложение «Параметры», которое автоматически открывается после двойного щелчка по файлу темы.
Единственным недостатком этого метода является то, что вам придется закрывать настройки каждый раз, когда вы нажимаете на файл темы. Откроется раздел «Персонализация».
Изменить тему Windows 11 из командной строки
- Откройте новое окно командной строки.
- Введите start «» «<путь к файлу темы>» и нажмите Enter. Например,
start "" "C:WindowsResourcesThemesaero.theme". - Windows 11 применит тему, а также откроет приложение «Параметры».
- Теперь закройте приложение «Параметры».
Если вас раздражает появление приложения «Параметры» после изменения темы из командной строки, измените команду следующим образом.
start "" "C:WindowsResourcesThemesaero.theme" & timeout /t 3 & taskkill /im "systemsettings.exe" /f.
Эта команда применит тему, сделает паузу 3 секунды с помощью команды timeout и принудительно закроет приложение «Параметры» с помощью приложения taskkill.
Таким образом, тема будет применена без манипуляций открывшимися окнами со стороны пользователя. Это может быть полезно для автоматизации смены темы оформления.
Точно так же вы можете применить новую тему из PowerShell.
Как поменять тему из PowerShell
- Откройте PowerShell, например, запустив Windows Terminal.
- Введите следующую команду:
start-process -filepath "C:WindowsResourcesThemesaero.theme". - Укажите правильный путь к файлу *.theme.
- Windows 11 изменит тему и откроет приложение «Параметры» на странице «Персонализация».
- Чтобы изменить тему и автоматически закрыть настройки, используйте следующую команду
start-process -filepath "C:WindowsResourcesThemesaero.theme"; timeout /t 3; taskkill /im "systemsettings.exe" /f.
Готово. Последняя команда вызывает инструменты, которые мы уже рассмотрели в предыдущей главе. Только синтаксис команды изменился, чтобы соответствовать PowerShell.
Использование приложения Theme Switcher
Бесплатная программа Theme Switcher позволяет применять темы, не открывая Параметы/Персонализацию. Он поддерживает все версии Windows, начиная с Windows 7.
Загрузите Theme Switcher по этой ссылке и распакуйте приложение в любую папку. Программа не требует установки.
Запустите файл ThemeSwitcher.exe.
Программа показывает, какая тема используется в данный момент и какой файл msstyles в ней применяется.
Нажмите кнопку «Apply theme», чтобы открыть файл *.theme и быстро установить его в качестве текущей темы.
Параметры командной строки ThemeSwitcher
Основное предназначение Theme Switcher — переключение тем из командной строки. Файл темы нужно передать в качестве аргумента командной строки. Вы можете запустить его следующим образом
ПутькThemeSwitcher.exe Путьквашей теме.theme
Или просто ПутькThemeSwitcher.exe вашей теме.theme
В последнем примере приложение будет автоматически искать соответствующий файл темы в известных каталогах, упомянутых в предыдущих главах.
Например, в Windows 11 вы можете быстро переключаться между темной и светлой темами с помощью следующих команд соответственно:
ThemeSwitcher.exe dark.theme
ThemeSwitcher.exe aero.theme
Наконец, вы можете создать ярлык на рабочем столе для themeswitcher.exe и указать нужную тему в качестве аргумента командной строки. Тогда вы сможете применить его одним щелчком мыши, не открывая приложение «Параметры».
Также, создав пару таких ярлыков, вы сможете быстро переключаться между темной и светлой темами.
Основная идея приложения Theme Switcher — быть удобным инструментом для переключения между темами с минимальным взаимодействием с пользователем. Это хорошая замена двум консольным методам, рассмотренным выше, поскольку для закрытия настроек не требуется выполнять дополнительные команды.
Вот и все.
Источник: Winaero
💡Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.
Судя по тому, что вы читаете этот текст, вы дочитали эту статью до конца. Если она вам понравилась, поделитесь, пожалуйста, с помощью кнопок ниже. Спасибо за вашу поддержку!
















