J’ai trouvé comment changer le papier peint du bureau (il y a des dizaines d’exemples sur Internet).
Une chose qui m’échappe encore: comment détecter le changement de papier peint? (Dites via le panneau de commande Display ou un autre programme le modifiant.)
Ajoutez un gestionnaire de messages pour WM_SETTINGCHANGE, SystemEvents.UserPreferenceChanged dans .NET. Vérifiez si le papier peint est toujours le même.
Voici un exemple en C # pour récupérer le papier peint. Tout ce que vous devez append est un code supplémentaire pour stocker le dernier fond d’écran et vérifier s’il est différent.
RegistryKey wallpaper = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop",false); ssortingng wallpapername = wallpaper.GetValue("wallpaper").ToSsortingng(); wallpaper.Close();
Si vous RegNotifyChangeKeyValue
quelque chose dans une langue autre que .net, vous pourriez utiliser la fonction RegNotifyChangeKeyValue
API Win32 pour vérifier si cette valeur a changé
HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper