views:

152

answers:

4

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?

+1  A: 

The registry key is HKCU\Control Panel\Desktop\Wallpaper

Nick Bedford
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
+2  A: 

try this

using Microsoft.Win32;

private string GetCurrentWallpaper()

{
 using(RegistryKey MyWallPaper = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", false))
 {
     return MyWallPaper.GetValue("WallPaper").ToString();
 }
}

Bye.

RRUZ
+1  A: 

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
A: 
public string GetCurrentWallpaper()
{
    using(var subKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer\Desktop\General", false))
    {
        return subKey.GetValue("WallpaperSource").ToString();
    }
}
Jader Dias