2010-01-06 5 views

Répondre

4

Voici un exemple en C# pour récupérer le fond d'écran. Tout ce que vous devez ajouter est un code supplémentaire pour stocker le dernier fond d'écran et vérifiez s'il est différent.

RegistryKey wallpaper = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop",false); 
string wallpapername = wallpaper.GetValue("wallpaper").ToString();   
wallpaper.Close(); 

Si vous écrivez quelque chose dans une langue non .net, vous pouvez utiliser la fonction API Win32 RegNotifyChangeKeyValue pour vérifier si cette valeur a changé:

HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper 
7

Ajouter un gestionnaire de messages pour WM_SETTINGCHANGE, SystemEvents.UserPreferenceChanged dans .NET. Vérifiez si le fond d'écran est toujours le même.

+0

C'est 'WM_SETTINGCHANGE', mais oui, je dirais que c'est un bon moyen d'être averti. –

Questions connexes