Path to current desktop backgrounds in Windows 10?
There is another question on here that allows users to find the path to their current background image through a cmd command.
In Windows 10 this no longer works. It only returns the first image in the folder, it does not change with the backgrounds as they transition. I need a similar command that returns the path(s) to the current image on the desktop background(s) that actually works in Windows 10 if one exists.
5 Answers 5
A copy of the current wallpaper can be found by typing the below path in Windows File Explorer address bar.
Path 1 —
%AppData%\Microsoft\Windows\Themes\CachedFiles
If you don’t find a copy of your current desktop background image here, try below path instead.
Path 2 —
%AppData%\Microsoft\Windows\Themes\TranscodedWallpaper
Note: The file TranscodedWallpaper in Path 2 does not have a file extension. Use «Open With» or «How do you want to open this file?» dialogue box and select any image viewer, such as, «Windows Photo Viewer», «Honeyview» or the «Photos» app.
Note for Windows 10: The above locations have limitations. For example, if the wallpaper you’re looking for is no longer visible in the ‘Background’ tab in the Settings app, you can’t recover it. It will work for your last five wallpapers but nothing older. (Source)
Default Windows wallpapers can be found in
You will see 3 folders
- «4K» for 4K wallpapers,
- «Screen» for lock screen backgrounds, &
- «Wallpapers» for Default Windows wallpapers
Installed themes (Aero, etc):
Per-user installed themes (including pre-installed from OEM):
If you are looking for the location of Lock Screen images — visit this SuperUser question.
Personally, I use John’s Background Switcher to manage my desktop background.
John’s Background Switcher has an option to view the current/previous desktop background (set by the app itself). Follow below steps —
- Right click on the tray icon and select View Current Picture and the current desktop background opens in Windows Photo Viewer (or your default image viewer).
- In Windows Photo Viewer, you can right click on the image & select Open File Location to view the original location of current desktop background in windows File Explorer.
To activate Windows Photo Viewer in Windows 10 visit this article on HowToGeek
I have Windows 10, version 1709. One of the other answers got me looking in the registry and I found exactly what I needed in clear text at
No decoding needed.
Windows 8 and 10 still store the original path of the current background image — rather than the cached / transcoded file as in xypha’s answer:
Microsoft doesn’t want things to be easy though: this isn’t plain text so you have to decode it from binary.
The Winhelponline website has compiled a couple of scripts (VBA and PowerShell) which can print the image name, and launch Explorer to point to the image file.
To get the «Transcoded» PATH in cleartext, do this in PowerShell:
You don’t explain exactly what is the FINAL purpose of this, so I can give some tips here based on a guess: you want to change your wallpaper in certain conditions (for example, one wallpaper every time you restart your computer) or to use a custom file as wallpaper.
In Windows 7 the wallpaper was usually found in %AppData%\Microsoft\Windows\Themes\TranscodedWallpaper .
In Windows 10 you will find it in %AppData%\Microsoft\Windows\Themes\CachedFiles .
You can also interrogate the registry at
but note the warnings below about programs that are NOT writing a file to disk!
If you want to build your own CMD script, this might be unreliable IF you set the wallpaper not from Windows but from an external program. For example, if I see a nice image in my browser, I set it as wallpaper directly from there. Same for IrfanView. I can easily name another 10 popular programs that could change the wallpaper to a custom path.
Note that some programs are changing the wallpaper without actually writing a file to disk. This can be done by hooking to the Microsoft Windows Desktop window and drawing directly on its canvas. This is how GIF/AVI animations are drawn on desktop.
There is another issue if you build your own script: How to you handle images that don’t have same aspect ratio as your desktop, or when desktop resolution changes?
The solution (if I guessed your problem correctly) would be to use a program like John’s Background Switcher or BioniX Desktop Background Changer. The latter is much more customizable and can be controlled via command line. It also has auto-detection to detect the best way to resize the image (fill/fit/tile). BioniX can also draw GIF without writing anything to disk (as explained above).
A even better way would be to use the «Lock on folder» option. Set BioniX to change your wallpaper every 60 seconds (don’t worry, you won’t see a new wallpaper every 60 seconds since you will use only one file). Set BioniX to lock on any folder (let’s say C:\Wallpapers ). Inside that folder you put a single file called something like My Wallpaper.jpg . BioniX will use that file as wallpaper every 60 seconds. Now, every time you want to change the wallpaper you replace the old My Wallpaper.jpg with your new file. BioniX will see the change you have done to the folder and apply the new file (within 60 seconds).
Let us know what you want to achieve with your script to get a better solution.
Wallpapers from open windows
free and open-source wallpaper engine. set any window or video as your wallpaper
UPDATE: for an easy to use front-end, check out https://github.com/SegoCode/AutoWall
github doesn’t like having big gifs in the readme, so here’s a imgur gallery
this was put together in
2 afternoons worth of coding. I can’t maintain this very regularly as I don’t use windows and I have to either fire up a virtual machine or install windows temporarily to my 2nd pc to work on it, so help and testing are welcome
only tested on Windows 10 version 1709 build 16299.15, should work on all versions of windows 10 and 8.1 as well as Windows 7
Windows 7 prerequisites
go to start -> search for «Adjust the appearance and performance of windows» and click it, then make sure at least these are checked
- Animate controls and elements inside windows
- Enable desktop composition
- Use visual styles on windows and buttons
if you don’t enable these settings, weebp won’t be able to put your animated wallpaper behind the icons. it will still work, but it will cover your desktop icons
- initial focus is on the command-line interface just because that’s what I would use, but a gui is not hard to implement later on. it’s easy to write glue scripts to automate it or bind it to keys anyways
- forwarding mouse interactions to the captured windows should be easy and would allow interactive wallpapers, I’ll implement it ASAP
extract the zip and place the folder anywhere you like
double-click 0bootstrap . this will run install.ps1 . it’s recommended that you check install.ps1 in notepad before running this just to make sure that it hasn’t been tampered with and doesn’t do anything bad
this will add the folder to your Path environment variable and create three shortcuts on your desktop to quickly add windows to your wallpaper and control mpv without opening a shell
type wp in a powershell or cmd window to check out the available commands
mpv is the ideal candidate to play video files or stream videos to your desktop when combined with weebp. it’s an extremely powerful player that combined with youtube-dl can stream videos and livestreams from almost any url as well as conventional video files.
download the latest mpv and youtube-dl here
I like throwing the mpv files and youtube-dl into the same folder as weebp so they’re available from everywhere
if you don’t want to do this, just make sure mpv’s path is in your Path environment variable
check out mpv-install.bat if you wish to make mpv your default player
recipe: automatic wallpaper set-up
this example starts infinitely looping playback of %USERPROFILE%\Videos\wallpapers using mpv, moves it to the right monitor and sets it as the wallpaper on that monitor. then it starts Google Chrome in kiosk mode (borderless) on a nice 3D demo site then sets it as the wallpaper on the left monitor.
create a .bat file in the same folder as wp.exe and put the following in it
if you have youtube-dl in the same folder as mpv, you can plug any youtube, twitch url or pretty much any streaming service instead of a video file/folder. try http://openings.moe ! this will slow down the start-up time as it needs to connect to a server
you’d set up a script like this to run on start-up if you want your wallpaper to persist at all times
recipe: controlling mpv while it’s in the wallpaper
another neat mpv feature is that you can control it through a named pipe. this means that you can send commands to an instance of mpv running in your wallpaper to skip through your playlist, display text and more. all you have to do is start mpv with —input-ipc-server=\\.\pipe\mpvsocket
wp has a built-in shortcut to write commands to mpv like wp mpv playlist-next
by the way, there’s a headless version of wp.exe called wp-headless.exe that doesn’t pop up a terminal. this is useful if you want to create a shortcut that runs wp commands.
rationale and how it works
on linux you can just mpv —wid 0 to play a video on the wallpaper window, but windows makes it a bit more obscure. at first I tried drawing to GetDesktopWindow and a few other windows that seemed good candidates but it would just draw over the desktop icons.
after googling around a bit and dicking around on a friend’s PC over teamviewer (I don’t have windows installed) I found this great comment on codeproject that points out an undocumented window message that spawns a window behind the desktop icons. this is supposedly used to display the animation when switching backgrounds
I was delighted by the simple 2-lines-of-code solution so I decided to make my own lightweight wallpaper engine
the best part is that this transparently gives you the window handle so you can plug it into virtually anything. mpv accepts a —wid parameter on windows as well so that already allows you to play almost any video format to the wallpaper. if you add youtube-dl, you can also stream videos and livestreams from all major sites
it’s as simple as mpv —wid=$(wp id) myvideo.mp4 and it doesnt require having steam open or anything
building from source
this is for developers and people who just want to compile this from source for any reason
- Visual C++ Build Tools 2017
- Windows 10 SDK (8.1 should work as well)
- git
- 7zip
the preferred method of installing dependencies is chocolatey
choco install git 7zip visualcpp-build-tools windows-sdk-10 -y
now open a powershell window, clone and build for 32 and 64 bit
if all goes well, this will create two zip’s correctly named after the version and architecture
if you just want to build and not package, you can run cmd /c «build.bat» instead of .\release.ps1 and it will build wp.exe«` into the current directory
using it as a C library
weebp.c is a single header library, check the top of the file for documentation
if you prefer using it as an actual library, a static weebp.lib is included and you can link it and omit the WP_IMPLEMENTATION define to only include the header part of weebp
there’s also a dynamic library weeb.dll , it’s completely untested but it should work for FFI/Pinvoke in other languages
this is free and unencumbered software released into the public domain see the attached UNLICENSE or http://unlicense.org for details
About
free and open-source wallpaper engine, set any window as your wallpaper
Path to current desktop backgrounds in Windows 10?
There is another question on here that allows users to find the path to their current background image through a cmd command.
In Windows 10 this no longer works. It only returns the first image in the folder, it does not change with the backgrounds as they transition. I need a similar command that returns the path(s) to the current image on the desktop background(s) that actually works in Windows 10 if one exists.
5 Answers 5
A copy of the current wallpaper can be found by typing the below path in Windows File Explorer address bar.
Path 1 —
%AppData%\Microsoft\Windows\Themes\CachedFiles
If you don’t find a copy of your current desktop background image here, try below path instead.
Path 2 —
%AppData%\Microsoft\Windows\Themes\TranscodedWallpaper
Note: The file TranscodedWallpaper in Path 2 does not have a file extension. Use «Open With» or «How do you want to open this file?» dialogue box and select any image viewer, such as, «Windows Photo Viewer», «Honeyview» or the «Photos» app.
Note for Windows 10: The above locations have limitations. For example, if the wallpaper you’re looking for is no longer visible in the ‘Background’ tab in the Settings app, you can’t recover it. It will work for your last five wallpapers but nothing older. (Source)
Default Windows wallpapers can be found in
You will see 3 folders
- «4K» for 4K wallpapers,
- «Screen» for lock screen backgrounds, &
- «Wallpapers» for Default Windows wallpapers
Installed themes (Aero, etc):
Per-user installed themes (including pre-installed from OEM):
If you are looking for the location of Lock Screen images — visit this SuperUser question.
Personally, I use John’s Background Switcher to manage my desktop background.
John’s Background Switcher has an option to view the current/previous desktop background (set by the app itself). Follow below steps —
- Right click on the tray icon and select View Current Picture and the current desktop background opens in Windows Photo Viewer (or your default image viewer).
- In Windows Photo Viewer, you can right click on the image & select Open File Location to view the original location of current desktop background in windows File Explorer.
To activate Windows Photo Viewer in Windows 10 visit this article on HowToGeek
I have Windows 10, version 1709. One of the other answers got me looking in the registry and I found exactly what I needed in clear text at
No decoding needed.
Windows 8 and 10 still store the original path of the current background image — rather than the cached / transcoded file as in xypha’s answer:
Microsoft doesn’t want things to be easy though: this isn’t plain text so you have to decode it from binary.
The Winhelponline website has compiled a couple of scripts (VBA and PowerShell) which can print the image name, and launch Explorer to point to the image file.
To get the «Transcoded» PATH in cleartext, do this in PowerShell:
You don’t explain exactly what is the FINAL purpose of this, so I can give some tips here based on a guess: you want to change your wallpaper in certain conditions (for example, one wallpaper every time you restart your computer) or to use a custom file as wallpaper.
In Windows 7 the wallpaper was usually found in %AppData%\Microsoft\Windows\Themes\TranscodedWallpaper .
In Windows 10 you will find it in %AppData%\Microsoft\Windows\Themes\CachedFiles .
You can also interrogate the registry at
but note the warnings below about programs that are NOT writing a file to disk!
If you want to build your own CMD script, this might be unreliable IF you set the wallpaper not from Windows but from an external program. For example, if I see a nice image in my browser, I set it as wallpaper directly from there. Same for IrfanView. I can easily name another 10 popular programs that could change the wallpaper to a custom path.
Note that some programs are changing the wallpaper without actually writing a file to disk. This can be done by hooking to the Microsoft Windows Desktop window and drawing directly on its canvas. This is how GIF/AVI animations are drawn on desktop.
There is another issue if you build your own script: How to you handle images that don’t have same aspect ratio as your desktop, or when desktop resolution changes?
The solution (if I guessed your problem correctly) would be to use a program like John’s Background Switcher or BioniX Desktop Background Changer. The latter is much more customizable and can be controlled via command line. It also has auto-detection to detect the best way to resize the image (fill/fit/tile). BioniX can also draw GIF without writing anything to disk (as explained above).
A even better way would be to use the «Lock on folder» option. Set BioniX to change your wallpaper every 60 seconds (don’t worry, you won’t see a new wallpaper every 60 seconds since you will use only one file). Set BioniX to lock on any folder (let’s say C:\Wallpapers ). Inside that folder you put a single file called something like My Wallpaper.jpg . BioniX will use that file as wallpaper every 60 seconds. Now, every time you want to change the wallpaper you replace the old My Wallpaper.jpg with your new file. BioniX will see the change you have done to the folder and apply the new file (within 60 seconds).
Let us know what you want to achieve with your script to get a better solution.