Files
Project64-Savestater/Project64Savestater/VisualThemeHelper.cs
2022-06-07 21:56:59 +02:00

45 lines
1.5 KiB
C#

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.WinControls;
namespace PJ64Savestater
{
internal static class VisualThemeHelper
{
private const string THEMENAME_FLUENT = "Fluent";
private const string THEMENAME_FLUENTDARK = "FluentDark";
public static void SetVisualTheme()
{
RadThemeComponentBase? setTheme = null;
var curVers = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", false);
if (Convert.ToString(curVers?.GetValue("ProductName", "-"))?.StartsWith("Windows 1") ?? false)
{
var keyPersonalize = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize", false);
int useapptheme = Convert.ToInt32(keyPersonalize?.GetValue("AppsUseLightTheme", 1));
switch (useapptheme)
{
case 0:
setTheme = new Telerik.WinControls.Themes.FluentDarkTheme();
break;
case 1:
setTheme = new Telerik.WinControls.Themes.FluentTheme();
break;
}
}
if (setTheme is null)
setTheme = new Telerik.WinControls.Themes.FluentTheme();
// Set theme
ThemeResolutionService.ApplicationThemeName = setTheme.ThemeName;
}
}
}