Aktuelles Windows-Theme herrausfinden

Aktuelles Windows-Theme herrausfinden

Dieses Beispiel soll kurz zeigen, wie ihr in C# feststellen könnt, welches Theme der Benutzer aktiviert hat.

Usings:
using Microsoft.Win32;

Code:
public enum Theme
{
    WindowsClassic,
    XPBlue,
    XPGreen,
    XPSilver
}

public static Theme CurrentTheme()
{
    RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\ThemeManager");
    if (key != null)
    {
        if ("1" == (string)key.GetValue("ThemeActive"))
        {
            string s = (string)key.GetValue("ColorName");
            if (s != null)
            {
                if (String.Compare(s, "NormalColor", true) == 0)
                    return Theme.XPBlue;
                if (String.Compare(s, "HomeStead", true) == 0)
                    return Theme.XPGreen;
                if (String.Compare(s, "Metallic", true) == 0)
                    return Theme.XPSilver;
            }
        }
    }
    return Theme.WindowsClassic;
}
Um einen Kommentar zu hinterlassen, ist eine Anmeldung erforderlich.