Here is an example in C # for extracting wallpapers. All you need to add is additional code to store the latest wallpapers and check to see if it is different.
RegistryKey wallpaper = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop",false); string wallpapername = wallpaper.GetValue("wallpaper").ToString(); wallpaper.Close();
If you are writing something in non.net, you can use the Win32 API function RegNotifyChangeKeyValue to check if this value has changed:
HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper
source share