If you’re using the Desktop background slideshow or third-party wallpaper changer software and want to find the file name of the currently displayed desktop wallpaper, then this article is for you. The current wallpaper path is are stored in the registry but is not displayed in the modern Personalize settings page in Windows 10.
This post tells you how to find the current wallpaper file name and path in Windows 8 and Windows 10.
Find the current wallpaper (desktop background) filename:
How to Find the Current Desktop Wallpaper in Windows 10
Here are five different methods to find the current desktop background (wallpaper) file name, starting with the easiest option.
Find the wallpaper image in your Themes folder in Windows 10
When you set a wallpaper of any image format, Windows converts that file to JPEG format and also sometimes reduces its quality. The converted wallpaper image may exist in one of the three different locations mentioned below, depending upon the method you used to set the wallpaper.
When you right-click on an image file and choose Set as desktop background in the context menu, a copy of the image file is converted and stored as TranscodedWallpaper
without file extension. The transcoded wallpaper is stored here:
%appdata%\Microsoft\Windows\Themes
Type the above folder path in the Run dialog or Explorer address bar to access the location.
All you need to do is copy the transcoded image from the above to a different location, add the .jpg
extension and use it.
If you used the Browse.. option in Personalize settings to set the desktop background, then the converted and up-scaled (matching your display resolution) version of the image is stored in the following directory.
%appdata%\Microsoft\Windows\Themes\CachedFiles
The file naming convention is like CachedImage_1920_1080_POS0.jpg
where the numbers indicate the current display resolution of 1920 x 1080. POS0 may indicate the monitor number (if using multiple monitors.)
In case you used neither methods above, but set the desktop background wallpaper via Windows Photo Viewer, then the transcoded JPEG file stored in the following folder as Windows Photo Viewer Wallpaper.jpg
, and the file path is written to the registry.
%AppData%\Roaming\Microsoft\Windows Photo Viewer
Note that the quality of the transcoded and converted (to JPEG) wallpaper may not be exactly the same as the original.
The registry value TranscodedImageCache
is updated in all of the above cases.
Find the Current Wallpaper using Desktop Background applet in Windows 10
The classic Desktop Background applet in Windows 10 shows the currently selected desktop background file name with full path.
- Right-click Start, and click Run to bring up the Run dialog.
- Type the following command and press ENTER
shell:::{ED834ED6-4B5A-4bfe-8F11-A626DCB6A921} -Microsoft.Personalization\pageWallpaper
In Windows 10 this opens the classic desktop background applet, showing the current wallpaper image file and the folder path.
Find the current wallpaper file via Registry Editor in Windows 10
The reference to the current desktop wallpaper may exist in one or more locations in the registry.
Open the Registry Editor (regedit.exe
)
In the Registry Editor, there are the keys you need to check.
HKEY_CURRENT_USER\Control Panel\Desktop
Look for the value named Wallpaper
(Type: REG_SZ).
Look for the value named TranscodedImageCache
(Type: REG_BINARY)
TranscodedImageCache
is a binary value, but you can easily make out the file path by double-clicking the value and reading the data.
Another history location in Windows 10
Go to the following registry key which stores your desktop background history.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers
The BackgroundHistoryPath0 value lists the current wallpaper.
The values BackgroundHistoryPath1, BackgroundHistoryPath2, BackgroundHistoryPath3, BackgroundHistoryPath4 refer to the previous 4 wallpapers you used. The wallpaper history thumbnail images are shown on the Personalize background settings page in Windows 10.
Find the current wallpaper file using a script in Windows 8 and Windows 10
We have an article that determines the Wallpaper source in Windows 7 (REF: Add “Desktop Background File Location” Context Menu in Windows 7) but that script doesn’t work in Windows 8 and 10. This is because in Windows 8 and 10 the current Wallpaper source path is stored in a different registry branch. Moreover, in Windows 8 (and in early versions of Windows 10) Microsoft decided not to store the Wallpaper source path in plain-text.
You can use PowerShell to decode the TranscodedImageCache wallpaper file name.
The following script methods are especially useful for Windows 8. This is because the previously discussed registry values don’t exist in Windows 8, except the TranscodedImageCache binary value.
Find the current wallpaper file using PowerShell script (via the right-click menu)
Note that Unicode isn’t supported by the above VBScript (nor does my earlier script for Windows 7). These scripts won’t function correctly if the Wallpaper path contains non-English characters.
Thanks to John Dangerbrooks for the PowerShell script that helps you find the wallpaper location in Windows 7, 8, and 10. You may check them out in his blog post Finding wallpaper location in Windows | Confidential Files!.
The TranscodedImageCache
registry value shows the original/source image file name in the following cases:
- Set the desktop background via the image file’s right-click menu.
- Set the desktop background via Personalize settings.
- Set the desktop background via the classic Desktop Background applet.
There are several different ways to set the desktop background wallpaper in Windows. For all other methods (e.g., setting the desktop background via your web browser, Windows Photo Viewer, Photos app, etc.,), the TranscodedImageCache only stores the path of the converted (BMP or JPEG format) file path.
One small request: If you liked this post, please share this?
One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!
About the author
Ramesh Srinivasan founded Winhelponline.com back in 2005. He is passionate about Microsoft technologies and he has been a Microsoft Most Valuable Professional (MVP) for 10 consecutive years from 2003 to 2012.
Different path? Wow, that’s great news indeed. This means Microsoft has finally gotten rid of ActiveDesktop. Its death was long overdue.
Of course, REG_BINARY type makes even more sense in face of the need for performance.
Hmm. It is a sloppy script, I am afraid. It is not Unicode compliant, so if you have non-English Unicode characters (say, Arabic, Hebrew, Russian or Devanagari) in the path, you’ll get trash instead of a path. It has no error handling for cases when the Registry key is absent. And it reads the path in reverse and then reverses it. Why?
At this time, I don’t know anything about Unicode in VBScript but here is better revision:
Set Shell = CreateObject(“WScript.Shell”)
On Error Resume Next
arr = Shell.RegRead(“HKCU\Control Panel\Desktop\TranscodedImageCache”)
if Err.Number 0 then
MsgBox (“Error ” & CStr(Err.Number) & Chr(13) & Err.Description),,”Win8 WP Curr Image Name”
WScript.Quit
End if
On Error Goto 0
a=arr
strSingle = ” ”
strMulti = ” ”
For I = LBound(arr) To Ubound(arr)
a(I) = Cint(arr(I))
if I > 23 then
strSingle = Chr(a(I))
if a(I) > 0 then
strMulti = strMulti & strSingle
end if
end if
Next
msgbox (“The Wallpaper File Name is:”&Chr(13)&strMulti),,”Win8 WP Curr Image Name”
Wscript.Quit
Sorry for bumping but I am looking at my own comment above and it does not have non-equality sign in line four, although I copied and pasted the script. The blog form must have removed it as an invalid HTML tag.
FYI
HKCU\Control Panel\Desktop\TranscodedImageCache_###
is for people out there that have multiple monitors. It starts at 000 being monitor 1
My take on this same task:
I’ve made this VBS gist to work for Windows 8:
https://gist.github.com/raveren/ab475336cc69879a378b
Has anyone modified this script to work with dual/multiple monitors and show the wallpaper depending on which monitor is clicked?
Win 8.1.1 64bit keys:
HKCU\Control Panel\Desktop\TranscodedImageCache_000
HKCU\Control Panel\Desktop\TranscodedImageCache_001
etc
Having multiple monitors is no problem for me, thanks to this information. I have a shortcut on each monitor that runs the appropriate vbs file. I edited the file to have 000 for Monitor one’s file, 001 for monitor two’s file and so on. I double click the shortcut on the monitor I am interested in.
What is a problem, though, is that when my PC wakes from Sleep mode, the wallpaper slide show does not change. I can manually restart the change process by re-selecting the wallpaper options or by running this vbs file:
set WshShell = WScript.CreateObject(“WScript.Shell”)
WshShell.SendKeys(“^ “)
WshShell.SendKeys(“+{F10}”)
WshShell.SendKeys(“n”)
Any idea how I can force the wallpaper slide show to resume aftwer waking from Sleep?
Although this is now an old blog entry I thought it still worth making the following post. Until recently I’ve been running Windows 7 and a few years ago as an exercise had written a simple program running with a system tray icon to discover the path to the current desktop background image. When I upgraded to Windows 10 this no longer worked of course, so I went looking and found this blog. As a result, I’ve updated my program to work for Windows 8 and beyond and to work for different images for multi-monitor environments, while also maintaining backwards compatibility with Windows 7.
I’m sharing this program with the wider community in case anyone else likes the idea of having this as a system tray tool. It is written in C# and requires .Net framework v4, and is available as separate .zip files for x86 (32-bit) and x64 (64-bit) environments. There’s no installer, it’s just a simple executable with a readme file. Personally I start it automatically using the HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run key, but I leave that detail to you. More details are in the readme.
The zip files are located at: http://1drv.ms/1OoQRti
Many thanks for this, Duncan. I used to have a small program called ‘Filepath’ which gave the path of the desktop image, but it has disappeared during a rebuild. I’m delighted to have found your program.
Can you re-share the zip file?
Thanks. 🙂
@HPeixoto: I’ve fixed the download link. Pls check now.
u’re the best!
Thank you for this information. Finally, after a lot of searches and effort, you provided a solution to allow me to see the path where the photo being displayed on my desktop slideshow was saved!!!!!