Пример #1
0
        // Support on Windows 10 1903+
        public static WindowsThemeMode GetWindows10SystemThemeSetting(bool isVerbose)
        {
            WindowsThemeMode themeMode = WindowsThemeMode.Dark;

            try
            {
                RegistryKey reg_ThemesPersonalize = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize", false);
                if (reg_ThemesPersonalize.GetValue("SystemUsesLightTheme") != null)
                {
                    if ((int)(reg_ThemesPersonalize.GetValue("SystemUsesLightTheme")) == 0) // 0:dark mode, 1:light mode
                    {
                        themeMode = WindowsThemeMode.Dark;
                    }
                    else
                    {
                        themeMode = WindowsThemeMode.Light;
                    }
                }
                else
                {
                    throw new Exception("Reg-Value SystemUsesLightTheme not found.");
                }
            }
            catch
            {
                if (isVerbose)
                {
                    Logging.Info(
                        $"Cannot get Windows 10 system theme mode, return default value 0 (dark mode).");
                }
            }
            return(themeMode);
        }
Пример #2
0
        // Support on Windows 10 1903+
        public static WindowsThemeMode GetWindows10SystemThemeSetting()
        {
            WindowsThemeMode registData = WindowsThemeMode.Dark;

            try
            {
                RegistryKey reg_HKCU = Registry.CurrentUser;
                RegistryKey reg_ThemesPersonalize = reg_HKCU.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize", false);
                if (reg_ThemesPersonalize.GetValue("SystemUsesLightTheme") != null)
                {
                    if (Convert.ToInt32(reg_ThemesPersonalize.GetValue("SystemUsesLightTheme").ToString()) == 0) // 0:dark mode, 1:light mode
                    {
                        registData = WindowsThemeMode.Dark;
                    }
                    else
                    {
                        registData = WindowsThemeMode.Light;
                    }
                    //Console.WriteLine(registData);
                }
                else
                {
                    throw new Exception("Reg-Value SystemUsesLightTheme not found.");
                }
            }
            catch
            {
                Logging.Info(
                    $"Cannot get Windows 10 system theme mode, return default value 0 (dark mode).");
            }
            return(registData);
        }