diff --git a/app/CustomControls.cs b/app/CustomControls.cs index b6af7f46..c0ff6acc 100644 --- a/app/CustomControls.cs +++ b/app/CustomControls.cs @@ -30,9 +30,9 @@ namespace CustomControls return (int)registryValueObject <= 0; } - public void InitTheme(bool setDPI = true) + public bool InitTheme(bool setDPI = true) { - bool newDarkTheme = IsDarkTheme(); + bool newDarkTheme = CheckSystemDarkModeStatus(); bool changed = (darkTheme != newDarkTheme); darkTheme = newDarkTheme; @@ -45,6 +45,8 @@ namespace CustomControls ControlHelper.Adjust(this, darkTheme, changed); } + return changed; + } } diff --git a/app/Fans.cs b/app/Fans.cs index ec08bbb6..feae7c6a 100644 --- a/app/Fans.cs +++ b/app/Fans.cs @@ -146,7 +146,7 @@ namespace GHelper InitPower(); InitBoost(); - comboBoost.SelectedIndexChanged += ComboBoost_Changed; + comboBoost.SelectedValueChanged += ComboBoost_Changed; Shown += Fans_Shown; @@ -162,9 +162,11 @@ namespace GHelper private void ComboBoost_Changed(object? sender, EventArgs e) { - if (sender is null) return; - ComboBox cmb = (ComboBox)sender; - NativeMethods.SetCPUBoost(cmb.SelectedIndex); + if (Program.config.getConfigPerf("auto_boost") != comboBoost.SelectedIndex) + { + NativeMethods.SetCPUBoost(comboBoost.SelectedIndex); + Program.config.setConfigPerf("auto_boost", comboBoost.SelectedIndex); + } } private void CheckApplyPower_Click(object? sender, EventArgs e) diff --git a/app/NativeMethods.cs b/app/NativeMethods.cs index bc860d73..0c4e7636 100644 --- a/app/NativeMethods.cs +++ b/app/NativeMethods.cs @@ -1,6 +1,8 @@ using System.ComponentModel; using System.Diagnostics; using System.Runtime.InteropServices; +using System.Security.Cryptography; +using System.Xml.Linq; using static Tools.ScreenInterrogatory; namespace Tools @@ -672,7 +674,6 @@ public class NativeMethods PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid); - /* var hrDC = PowerWriteDCValueIndex( IntPtr.Zero, activeSchemeGuid, @@ -681,8 +682,8 @@ public class NativeMethods boost); PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid); - */ + Logger.WriteLine("Boost " + boost); } public static void SetPowerScheme(int mode) diff --git a/app/Program.cs b/app/Program.cs index 5532f38c..310cfe01 100644 --- a/app/Program.cs +++ b/app/Program.cs @@ -1,8 +1,6 @@ using Microsoft.Win32; using System.Diagnostics; using System.Management; -using System.Reflection; -using System.Text.Json; namespace GHelper { @@ -61,13 +59,12 @@ namespace GHelper Application.EnableVisualStyles(); - SystemEvents.UserPreferenceChanged += new - UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged); + SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged); var ds = settingsForm.Handle; trayIcon.MouseClick += TrayIcon_MouseClick; - + wmi.SubscribeToEvents(WatcherEventArrived); diff --git a/app/Settings.cs b/app/Settings.cs index d98dd839..031c087f 100644 --- a/app/Settings.cs +++ b/app/Settings.cs @@ -932,6 +932,10 @@ namespace GHelper timer.Start(); } + if (Program.config.getConfigPerf("auto_boost") != -1) + { + NativeMethods.SetCPUBoost(Program.config.getConfigPerf("auto_boost")); + } } public void SetPerformanceMode(int PerformanceMode = ASUSWmi.PerformanceBalanced, bool notify = false) @@ -991,6 +995,7 @@ namespace GHelper { fans.InitFans(); fans.InitPower(); + fans.InitBoost(); }