Feedback

C# - Klasse zum ändern des Desktophintergrund (Wallpaper)

Veröffentlicht von am 30.12.2006
(1 Bewertungen)
Eine Klasse zum ändern des Desktophintergrund. Es muss nur der Pfad zum Bild und eine Eigenschaft - Tiled, Centered oder Stretched - übergeben werden und das Hintergundbild (Wallpaper) wird geändert. Vor der Änderung wird überprüft ob das Bild auch vorhanden ist.
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

ASP.NET Core - Der Einstieg

In nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.

public class Wallpaper
{
    const int SPI_SETDESKWALLPAPER = 20;
    const int SPIF_UPDATEINIFILE = 0x01;
    const int SPIF_SENDWININICHANGE = 0x02;

    public Wallpaper()
    {
    }

    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    static extern int SystemParametersInfo(
        int uAction, int uParam, string lpvParam, int fuWinIni);

    public enum Style : int
    {
        Tiled, Centered, Stretched
    }

    public void SetWallpaper(string path, Style style)
    {           
        if (System.IO.File.Exists(path))
        {
            RegistryKey key = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", true);

            switch (style)
            {
                case Style.Stretched:
                    key.SetValue(@"WallpaperStyle", "2");
                    key.SetValue(@"TileWallpaper", "0");
                    break;
                case Style.Centered:
                    key.SetValue(@"WallpaperStyle", "1");
                    key.SetValue(@"TileWallpaper", "0");
                    break;
                case Style.Tiled:
                    key.SetValue(@"WallpaperStyle", "1");
                    key.SetValue(@"TileWallpaper", "1");
                    break;
            }
            SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
        }
        else
        {
            throw new System.IO.FileNotFoundException();
        }
    }
}
Abgelegt unter Wallpaper, Hintergrundild, Desktop.

1 Kommentare zum Snippet

Greenberet schrieb am 14.01.2008:
Achtung, Windows akzeptiert nur Bitmaps für den Hintergrund -> ihr müssts andere Bildformate noch in Bitmaps konvertieren
 

Logge dich ein, um hier zu kommentieren!