Impostare un nuovo Wallpaper come sfondo Desktop in C#



Basandoci sull’articolo che spiega come ottenere la path dello sfondo desktop corrente vediamo come sia possibile settare un nuovo sfondo, ovviamente in C#.

Importati quindi i namespace e la funzione delle API con il seguente codice:

using Microsoft.Win32;
using System.Runtime.InteropServices;
//importa funzione
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);

Passiamo quindi alla creazione di una funzione che permetta di settare un nuovo wallpaper, dettagliatamente commentata:

private void SetWallpaper(string WallpaperLocation, int WallpaperStyle, int TileWallpaper)
{
// setta il wallpaper
SystemParametersInfo(20, 0, WallpaperLocation, 0x01 | 0x02);
// setta lo stile del wallpaper come streched
RegistryKey rkWallPaper = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", true);
// setta lo stile
rkWallPaper.SetValue("WallpaperStyle", WallpaperStyle);
// il wallpaper sarà visualizzato come Tile
rkWallPaper.SetValue("TileWallpaper", TileWallpaper);
rkWallPaper.Close();
}

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
Pinterest