2

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?

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

4 Answers4

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
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
  • 1
    actually, 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