It is possible to discover it programatically? It will use the Windows Registry? I'll need to take a screenshot of it and compare with the files on disk? Is it possible to discover even in the desktop slideshow mode?
Asked
Active
Viewed 1,350 times
4 Answers
1
try this
using Microsoft.Win32;
private string GetCurrentWallpaper()
{
using(RegistryKey MyWallPaper = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", false))
{
return MyWallPaper.GetValue("WallPaper").ToString();
}
}
Bye.

Jader Dias
- 88,211
- 155
- 421
- 625

RRUZ
- 134,889
- 20
- 356
- 483
-
This doesn't work in windows 10 consistently. No such key – McKay Jul 24 '16 at 01:25
1
public string GetCurrentWallpaper()
{
using(var subKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer\Desktop\General", false))
{
return subKey.GetValue("WallpaperSource").ToString();
}
}

Jader Dias
- 88,211
- 155
- 421
- 625
-
This doesn't work on windows 10. This just works if the image came from IE, and stores the last image that came from IE. – McKay Jul 24 '16 at 01:26
0
The registry key is HKCU\Control Panel\Desktop\Wallpaper

Nick Bedford
- 4,365
- 30
- 36
-
1actually, in Windows 7, it points to a version of the original file "%USER%\AppData\Roaming\Microsoft\Windows\Themes\TranscodedWallpaper.jpg" not the file itself. I think that it's trickier to find the original file in Windows 7 – Jader Dias Sep 29 '09 at 02:54
0
You need to use SystemParametersInfo() there is a tutorial on Geekpedia with more information on how to accomplish this with the different Windows OS's and systems.

Mike Buckbee
- 6,793
- 2
- 33
- 36
-
This is not a complete answer, and the link doesn't have anything at it. – McKay Jul 24 '16 at 01:27