diff --git a/app/ASUSWmi.cs b/app/ASUSWmi.cs index d630ed4c..cd10bb6b 100644 --- a/app/ASUSWmi.cs +++ b/app/ASUSWmi.cs @@ -21,6 +21,8 @@ public class ASUSWmi public const uint PerformanceMode = 0x00120075; // Thermal Control public const uint GPUEco = 0x00090020; + public const uint GPUXGConnected = 0x00090018; + public const uint GPUXG = 0x00090019; public const uint GPUMux = 0x00090016; public const uint BatteryLimit = 0x00120057; diff --git a/app/ControlHelper.cs b/app/ControlHelper.cs index d663b595..dcfacc87 100644 --- a/app/ControlHelper.cs +++ b/app/ControlHelper.cs @@ -7,44 +7,13 @@ public static class ControlHelper { static bool _invert = false; - static bool _darkTheme = false; - - static float _scale = 1; - static Color formBack; - static Color backMain; - static Color foreMain; - static Color foreAccent; - static Color borderMain; - static Color buttonMain; - - public static void Adjust(RForm container, bool darkTheme = false, bool invert = false) + public static void Adjust(RForm container, bool invert = false) { - _darkTheme = darkTheme; - - if (darkTheme) - { - formBack = Color.FromArgb(255, 35, 35, 35); - backMain = Color.FromArgb(255, 50, 50, 50); - foreMain = Color.FromArgb(255, 240, 240, 240); - foreAccent = Color.FromArgb(255, 100, 100, 100); - borderMain = Color.FromArgb(255, 50, 50, 50); - buttonMain = Color.FromArgb(255, 80, 80, 80); - } - else - { - formBack = SystemColors.Control; - backMain = SystemColors.ControlLightLight; - foreMain = SystemColors.ControlText; - foreAccent = Color.LightGray; - borderMain = Color.LightGray; - buttonMain = Color.FromArgb(255, 230, 230, 230); - } - - container.BackColor = formBack; - container.ForeColor = foreMain; + container.BackColor = RForm.formBack; + container.ForeColor = RForm.foreMain; _invert = invert; AdjustControls(container.Controls); @@ -85,11 +54,11 @@ public static class ControlHelper var button = control as RButton; if (button != null) { - button.BackColor = button.Secondary ? buttonMain : backMain; - button.ForeColor = foreMain; + button.BackColor = button.Secondary ? RForm.buttonSecond : RForm.buttonMain; + button.ForeColor = RForm.foreMain; button.FlatStyle = FlatStyle.Flat; - button.FlatAppearance.BorderColor = borderMain; + button.FlatAppearance.BorderColor = RForm.borderMain; if (button.Image is not null) button.Image = AdjustImage(button.Image); @@ -103,52 +72,52 @@ public static class ControlHelper var combo = control as RComboBox; if (combo != null) { - combo.BackColor = backMain; - combo.ForeColor = foreMain; - combo.BorderColor = backMain; - combo.ButtonColor = backMain; - combo.ArrowColor = foreMain; + combo.BackColor = RForm.buttonMain; + combo.ForeColor = RForm.foreMain; + combo.BorderColor = RForm.buttonMain; + combo.ButtonColor = RForm.buttonMain; + combo.ArrowColor = RForm.foreMain; } var gb = control as GroupBox; if (gb != null) { - gb.ForeColor = foreMain; + gb.ForeColor = RForm.foreMain; } var sl = control as Slider; - if (sl != null) + if (sl != null) { - sl.borderColor = buttonMain; + sl.borderColor = RForm.buttonMain; } var chk = control as CheckBox; - if (chk != null) + if (chk != null && chk.Padding.Left > 5) { - chk.BackColor = buttonMain; + chk.BackColor = RForm.buttonSecond; } var chart = control as Chart; if (chart != null) { - chart.BackColor = backMain; - chart.ChartAreas[0].BackColor = backMain; + chart.BackColor = RForm.chartMain; + chart.ChartAreas[0].BackColor = RForm.chartMain; - chart.ChartAreas[0].AxisX.TitleForeColor = foreMain; - chart.ChartAreas[0].AxisY.TitleForeColor = foreMain; + chart.ChartAreas[0].AxisX.TitleForeColor = RForm.foreMain; + chart.ChartAreas[0].AxisY.TitleForeColor = RForm.foreMain; - chart.ChartAreas[0].AxisX.LabelStyle.ForeColor = foreMain; - chart.ChartAreas[0].AxisY.LabelStyle.ForeColor = foreMain; + chart.ChartAreas[0].AxisX.LabelStyle.ForeColor = RForm.foreMain; + chart.ChartAreas[0].AxisY.LabelStyle.ForeColor = RForm.foreMain; - chart.ChartAreas[0].AxisX.MajorTickMark.LineColor = foreMain; - chart.ChartAreas[0].AxisY.MajorTickMark.LineColor = foreMain; + chart.ChartAreas[0].AxisX.MajorTickMark.LineColor = RForm.foreMain; + chart.ChartAreas[0].AxisY.MajorTickMark.LineColor = RForm.foreMain; - chart.ChartAreas[0].AxisX.MajorGrid.LineColor = foreAccent; - chart.ChartAreas[0].AxisY.MajorGrid.LineColor = foreAccent; - chart.ChartAreas[0].AxisX.LineColor = foreAccent; - chart.ChartAreas[0].AxisY.LineColor = foreAccent; + chart.ChartAreas[0].AxisX.MajorGrid.LineColor = RForm.chartGrid; + chart.ChartAreas[0].AxisY.MajorGrid.LineColor = RForm.chartGrid; + chart.ChartAreas[0].AxisX.LineColor = RForm.chartGrid; + chart.ChartAreas[0].AxisY.LineColor = RForm.chartGrid; - chart.Titles[0].ForeColor = foreMain; + chart.Titles[0].ForeColor = RForm.foreMain; } diff --git a/app/CustomControls.cs b/app/CustomControls.cs index 71e6c023..555c489d 100644 --- a/app/CustomControls.cs +++ b/app/CustomControls.cs @@ -1,6 +1,5 @@ using Microsoft.Win32; using System.ComponentModel; -using System.Diagnostics; using System.Drawing.Drawing2D; using System.Runtime.InteropServices; @@ -10,9 +9,18 @@ namespace CustomControls public class RForm : Form { - protected static Color colorEco = Color.FromArgb(255, 6, 180, 138); - protected static Color colorStandard = Color.FromArgb(255, 58, 174, 239); - protected static Color colorTurbo = Color.FromArgb(255, 255, 32, 32); + public static Color colorEco = Color.FromArgb(255, 6, 180, 138); + public static Color colorStandard = Color.FromArgb(255, 58, 174, 239); + public static Color colorTurbo = Color.FromArgb(255, 255, 32, 32); + + public static Color buttonMain; + public static Color buttonSecond; + + public static Color formBack; + public static Color foreMain; + public static Color borderMain; + public static Color chartMain; + public static Color chartGrid; [DllImport("UXTheme.dll", SetLastError = true, EntryPoint = "#138")] public static extern bool CheckSystemDarkModeStatus(); @@ -22,6 +30,34 @@ namespace CustomControls public bool darkTheme; + public static void InitColors(bool darkTheme) + { + if (darkTheme) + { + buttonMain = Color.FromArgb(255, 55, 55, 55); + buttonSecond = Color.FromArgb(255, 38, 38, 38); + + formBack = Color.FromArgb(255, 28, 28, 28); + foreMain = Color.FromArgb(255, 240, 240, 240); + borderMain = Color.FromArgb(255, 50, 50, 50); + + chartMain = Color.FromArgb(255, 35, 35, 35); + chartGrid = Color.FromArgb(255, 70, 70, 70); + } + else + { + buttonMain = SystemColors.ControlLightLight; + buttonSecond = SystemColors.ControlLight; + + formBack = SystemColors.Control; + foreMain = SystemColors.ControlText; + borderMain = Color.LightGray; + + chartMain = SystemColors.ControlLightLight; + chartGrid = Color.LightGray; + } + } + private static bool IsDarkTheme() { using var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize"); @@ -37,13 +73,15 @@ namespace CustomControls bool changed = (darkTheme != newDarkTheme); darkTheme = newDarkTheme; + InitColors(darkTheme); + if (setDPI) ControlHelper.Resize(this); if (changed) { DwmSetWindowAttribute(this.Handle, 20, new[] { darkTheme ? 1 : 0 }, 4); - ControlHelper.Adjust(this, darkTheme, changed); + ControlHelper.Adjust(this, changed); } return changed; @@ -53,7 +91,13 @@ namespace CustomControls } - public class RComboBox : ComboBox + public class RCheckBox : CheckBox + { + + } + + + public class RComboBox : ComboBox { private Color borderColor = Color.Gray; [DefaultValue(typeof(Color), "Gray")] diff --git a/app/Fans.Designer.cs b/app/Fans.Designer.cs index 891b8482..d4665a40 100644 --- a/app/Fans.Designer.cs +++ b/app/Fans.Designer.cs @@ -31,12 +31,12 @@ namespace GHelper /// private void InitializeComponent() { - ChartArea chartArea4 = new ChartArea(); - Title title4 = new Title(); - ChartArea chartArea5 = new ChartArea(); - Title title5 = new Title(); - ChartArea chartArea6 = new ChartArea(); - Title title6 = new Title(); + ChartArea chartArea1 = new ChartArea(); + Title title1 = new Title(); + ChartArea chartArea2 = new ChartArea(); + Title title2 = new Title(); + ChartArea chartArea3 = new ChartArea(); + Title title3 = new Title(); panelFans = new Panel(); labelTip = new Label(); labelBoost = new Label(); @@ -47,12 +47,12 @@ namespace GHelper chartCPU = new Chart(); chartMid = new Chart(); labelFans = new Label(); - checkApplyFans = new CheckBox(); + checkApplyFans = new RCheckBox(); buttonReset = new RButton(); panelPower = new Panel(); pictureBox1 = new PictureBox(); labelPowerLimits = new Label(); - checkApplyPower = new CheckBox(); + checkApplyPower = new RCheckBox(); panelCPU = new Panel(); labelCPU = new Label(); label2 = new Label(); @@ -161,8 +161,8 @@ namespace GHelper // // chartGPU // - chartArea4.Name = "ChartArea1"; - chartGPU.ChartAreas.Add(chartArea4); + chartArea1.Name = "ChartArea1"; + chartGPU.ChartAreas.Add(chartArea1); chartGPU.Dock = DockStyle.Fill; chartGPU.Location = new Point(2, 340); chartGPU.Margin = new Padding(2, 10, 2, 10); @@ -170,13 +170,13 @@ namespace GHelper chartGPU.Size = new Size(760, 310); chartGPU.TabIndex = 17; chartGPU.Text = "chartGPU"; - title4.Name = "Title1"; - chartGPU.Titles.Add(title4); + title1.Name = "Title1"; + chartGPU.Titles.Add(title1); // // chartCPU // - chartArea5.Name = "ChartArea1"; - chartCPU.ChartAreas.Add(chartArea5); + chartArea2.Name = "ChartArea1"; + chartCPU.ChartAreas.Add(chartArea2); chartCPU.Dock = DockStyle.Fill; chartCPU.Location = new Point(2, 10); chartCPU.Margin = new Padding(2, 10, 2, 10); @@ -184,13 +184,13 @@ namespace GHelper chartCPU.Size = new Size(760, 310); chartCPU.TabIndex = 14; chartCPU.Text = "chartCPU"; - title5.Name = "Title1"; - chartCPU.Titles.Add(title5); + title2.Name = "Title1"; + chartCPU.Titles.Add(title2); // // chartMid // - chartArea6.Name = "ChartArea3"; - chartMid.ChartAreas.Add(chartArea6); + chartArea3.Name = "ChartArea3"; + chartMid.ChartAreas.Add(chartArea3); chartMid.Dock = DockStyle.Fill; chartMid.Location = new Point(2, 670); chartMid.Margin = new Padding(2, 10, 2, 10); @@ -198,8 +198,8 @@ namespace GHelper chartMid.Size = new Size(760, 312); chartMid.TabIndex = 14; chartMid.Text = "chartMid"; - title6.Name = "Title3"; - chartMid.Titles.Add(title6); + title3.Name = "Title3"; + chartMid.Titles.Add(title3); chartMid.Visible = false; // // labelFans @@ -218,20 +218,20 @@ namespace GHelper checkApplyFans.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; checkApplyFans.AutoSize = true; checkApplyFans.BackColor = SystemColors.ControlLight; - checkApplyFans.Location = new Point(538, 1084); + checkApplyFans.Location = new Point(449, 1084); checkApplyFans.Margin = new Padding(4, 2, 4, 2); checkApplyFans.Name = "checkApplyFans"; checkApplyFans.Padding = new Padding(15, 5, 15, 5); - checkApplyFans.Size = new Size(250, 46); + checkApplyFans.Size = new Size(339, 46); checkApplyFans.TabIndex = 17; - checkApplyFans.Text = "Apply Fan Curve"; + checkApplyFans.Text = "Apply Custom Fan Curve"; checkApplyFans.UseVisualStyleBackColor = false; // // buttonReset // buttonReset.Activated = false; buttonReset.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; - buttonReset.BackColor = Color.FromArgb(230, 230, 230); + buttonReset.BackColor = SystemColors.ControlLight; buttonReset.BorderColor = Color.Transparent; buttonReset.BorderRadius = 2; buttonReset.FlatStyle = FlatStyle.Flat; @@ -455,10 +455,10 @@ namespace GHelper #endregion private Panel panelFans; - private CheckBox checkApplyFans; + private RCheckBox checkApplyFans; private RButton buttonReset; private Panel panelPower; - private CheckBox checkApplyPower; + private RCheckBox checkApplyPower; private Panel panelCPU; private Label labelCPU; private Label label2; diff --git a/app/Fans.cs b/app/Fans.cs index 9975dcd7..72e6638a 100644 --- a/app/Fans.cs +++ b/app/Fans.cs @@ -13,76 +13,6 @@ namespace GHelper Series seriesMid; static int MinRPM, MaxRPM; - - static string ChartPercToRPM(int percentage, string unit = "") - { - if (percentage == 0) return "OFF"; - - return (200 * Math.Round((float)(MinRPM * 100 + (MaxRPM - MinRPM) * percentage) / 200)).ToString() + unit; - } - - void SetChart(Chart chart, int device) - { - - string title; - - if (device == 1) - title = "GPU Fan Profile"; - else if (device == 2) - title = "Middle Fan Profile"; - else - title = "CPU Fan Profile"; - - if (Program.settingsForm.perfName.Length > 0) - labelFans.Text = "Fan Profiles: " + Program.settingsForm.perfName; - - chart.Titles[0].Text = title; - - chart.ChartAreas[0].AxisX.Minimum = 10; - chart.ChartAreas[0].AxisX.Maximum = 100; - chart.ChartAreas[0].AxisX.Interval = 10; - - chart.ChartAreas[0].AxisY.Minimum = 0; - chart.ChartAreas[0].AxisY.Maximum = 100; - - chart.ChartAreas[0].AxisY.LabelStyle.Font = new Font("Arial", 7F); - - var foreAccent = Color.FromArgb(255, 180, 180, 180); - - chart.ChartAreas[0].AxisX.MajorGrid.LineColor = foreAccent; - chart.ChartAreas[0].AxisY.MajorGrid.LineColor = foreAccent; - chart.ChartAreas[0].AxisX.LineColor = foreAccent; - chart.ChartAreas[0].AxisY.LineColor = foreAccent; - - for (int i = 0; i <= 90; i += 10) - chart.ChartAreas[0].AxisY.CustomLabels.Add(i - 2, i + 2, ChartPercToRPM(i)); - - chart.ChartAreas[0].AxisY.CustomLabels.Add(98, 102, "RPM"); - - chart.ChartAreas[0].AxisY.Interval = 10; - - if (chart.Legends.Count > 0) - chart.Legends[0].Enabled = false; - - } - - private void Fans_Shown(object? sender, EventArgs e) - { - if (Height > Program.settingsForm.Height) - { - Top = Program.settingsForm.Top + Program.settingsForm.Height - Height; - } - else - { - MinimumSize = new Size(0, Program.settingsForm.Height); - Height = Program.settingsForm.Height; - Top = Program.settingsForm.Top; - } - - - Left = Program.settingsForm.Left - Width - 5; - } - public Fans() { @@ -146,6 +76,74 @@ namespace GHelper } + static string ChartPercToRPM(int percentage, string unit = "") + { + if (percentage == 0) return "OFF"; + + return (200 * Math.Round((float)(MinRPM * 100 + (MaxRPM - MinRPM) * percentage) / 200)).ToString() + unit; + } + + void SetChart(Chart chart, int device) + { + + string title; + + if (device == 1) + title = "GPU Fan Profile"; + else if (device == 2) + title = "Middle Fan Profile"; + else + title = "CPU Fan Profile"; + + if (Program.settingsForm.perfName.Length > 0) + labelFans.Text = "Fan Profiles: " + Program.settingsForm.perfName; + + chart.Titles[0].Text = title; + + chart.ChartAreas[0].AxisX.Minimum = 10; + chart.ChartAreas[0].AxisX.Maximum = 100; + chart.ChartAreas[0].AxisX.Interval = 10; + + chart.ChartAreas[0].AxisY.Minimum = 0; + chart.ChartAreas[0].AxisY.Maximum = 100; + + chart.ChartAreas[0].AxisY.LabelStyle.Font = new Font("Arial", 7F); + + chart.ChartAreas[0].AxisX.MajorGrid.LineColor = chartGrid; + chart.ChartAreas[0].AxisY.MajorGrid.LineColor = chartGrid; + chart.ChartAreas[0].AxisX.LineColor = chartGrid; + chart.ChartAreas[0].AxisY.LineColor = chartGrid; + + for (int i = 0; i <= 90; i += 10) + chart.ChartAreas[0].AxisY.CustomLabels.Add(i - 2, i + 2, ChartPercToRPM(i)); + + chart.ChartAreas[0].AxisY.CustomLabels.Add(98, 102, "RPM"); + + chart.ChartAreas[0].AxisY.Interval = 10; + + if (chart.Legends.Count > 0) + chart.Legends[0].Enabled = false; + + } + + private void Fans_Shown(object? sender, EventArgs e) + { + if (Height > Program.settingsForm.Height) + { + Top = Program.settingsForm.Top + Program.settingsForm.Height - Height; + } + else + { + MinimumSize = new Size(0, Program.settingsForm.Height); + Height = Program.settingsForm.Height; + Top = Program.settingsForm.Top; + } + + + Left = Program.settingsForm.Left - Width - 5; + } + + private void TrackPower_MouseUp(object? sender, MouseEventArgs e) { Program.settingsForm.AutoPower(); diff --git a/app/GHelper.csproj b/app/GHelper.csproj index e723c4dd..cbe7ab8b 100644 --- a/app/GHelper.csproj +++ b/app/GHelper.csproj @@ -16,7 +16,7 @@ x64 False True - 0.46 + 0.48 diff --git a/app/HardwareMonitor.cs b/app/HardwareMonitor.cs index 32f7e502..5eb59789 100644 --- a/app/HardwareMonitor.cs +++ b/app/HardwareMonitor.cs @@ -17,7 +17,7 @@ public static class HardwareMonitor public static int GetFanMax() { int max = 58; - if (Program.config.ContainsModel("401")) max = 72; + if (Program.config.ContainsModel("402")) max = 72; else if (Program.config.ContainsModel("503")) max = 68; return Math.Max(max, Program.config.getConfig("fan_max")); } @@ -68,7 +68,6 @@ public static class HardwareMonitor if (gpuTemp < 0) try { - if (GpuTemperatureProvider is null) RecreateGpuTemperatureProvider(); gpuTemp = GpuTemperatureProvider?.GetCurrentTemperature(); } diff --git a/app/Program.cs b/app/Program.cs index d9bd5f95..483d5717 100644 --- a/app/Program.cs +++ b/app/Program.cs @@ -74,6 +74,8 @@ namespace GHelper SetAutoModes(); + HardwareMonitor.RecreateGpuTemperatureProvider(); + // Subscribing for system power change events SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; SystemEvents.UserPreferenceChanged += SystemEvents_UserPreferenceChanged; diff --git a/app/Settings.Designer.cs b/app/Settings.Designer.cs index 8cf979ba..f0ad60c1 100644 --- a/app/Settings.Designer.cs +++ b/app/Settings.Designer.cs @@ -163,6 +163,7 @@ namespace GHelper // comboMatrix // comboMatrix.BorderColor = Color.White; + comboMatrix.ButtonColor = Color.FromArgb(255, 255, 255); comboMatrix.Dock = DockStyle.Top; comboMatrix.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point); comboMatrix.FormattingEnabled = true; @@ -178,6 +179,7 @@ namespace GHelper // comboMatrixRunning // comboMatrixRunning.BorderColor = Color.White; + comboMatrixRunning.ButtonColor = Color.FromArgb(255, 255, 255); comboMatrixRunning.Dock = DockStyle.Top; comboMatrixRunning.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point); comboMatrixRunning.FormattingEnabled = true; @@ -193,7 +195,7 @@ namespace GHelper // buttonMatrix // buttonMatrix.Activated = false; - buttonMatrix.BackColor = Color.FromArgb(230, 230, 230); + buttonMatrix.BackColor = SystemColors.ControlLight; buttonMatrix.BorderColor = Color.Transparent; buttonMatrix.BorderRadius = 2; buttonMatrix.Dock = DockStyle.Top; @@ -333,7 +335,7 @@ namespace GHelper // buttonQuit.Activated = false; buttonQuit.Anchor = AnchorStyles.Top | AnchorStyles.Right; - buttonQuit.BackColor = Color.FromArgb(230, 230, 230); + buttonQuit.BackColor = SystemColors.ControlLight; buttonQuit.BorderColor = Color.Transparent; buttonQuit.BorderRadius = 2; buttonQuit.FlatStyle = FlatStyle.Flat; @@ -501,7 +503,7 @@ namespace GHelper // buttonFans // buttonFans.Activated = false; - buttonFans.BackColor = Color.FromArgb(230, 230, 230); + buttonFans.BackColor = SystemColors.ControlLight; buttonFans.BorderColor = Color.Transparent; buttonFans.BorderRadius = 5; buttonFans.Dock = DockStyle.Fill; @@ -888,6 +890,7 @@ namespace GHelper // comboKeyboard // comboKeyboard.BorderColor = Color.White; + comboKeyboard.ButtonColor = Color.FromArgb(255, 255, 255); comboKeyboard.Dock = DockStyle.Top; comboKeyboard.FlatStyle = FlatStyle.Flat; comboKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point); @@ -955,7 +958,7 @@ namespace GHelper // buttonKeyboard // buttonKeyboard.Activated = false; - buttonKeyboard.BackColor = Color.FromArgb(230, 230, 230); + buttonKeyboard.BackColor = SystemColors.ControlLight; buttonKeyboard.BorderColor = Color.Transparent; buttonKeyboard.BorderRadius = 2; buttonKeyboard.Dock = DockStyle.Top; diff --git a/app/Settings.cs b/app/Settings.cs index 120a2184..b118cafb 100644 --- a/app/Settings.cs +++ b/app/Settings.cs @@ -25,7 +25,6 @@ namespace GHelper public Keyboard keyb; static AnimeMatrixDevice mat; - static int matrixTick = 0; static long lastRefresh; public SettingsForm() @@ -272,10 +271,7 @@ namespace GHelper break; case 1: Logger.WriteLine("Monitor Power On"); - Program.settingsForm.BeginInvoke(delegate - { - Program.SetAutoModes(); - }); + Program.SetAutoModes(); break; case 2: Logger.WriteLine("Monitor Dimmed"); @@ -919,7 +915,8 @@ namespace GHelper SetPower(); }; timer.Start(); - } else + } + else { SetPower(); } @@ -1013,10 +1010,10 @@ namespace GHelper if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online) Aura.ApplyBrightness(3); - //Program.wmi.DeviceSet(ASUSWmi.UniversalControl, ASUSWmi.KB_Light_Up); + //Program.wmi.DeviceSet(ASUSWmi.UniversalControl, ASUSWmi.KB_Light_Up); else Aura.ApplyBrightness(0); - //Program.wmi.DeviceSet(ASUSWmi.UniversalControl, ASUSWmi.KB_Light_Down); + //Program.wmi.DeviceSet(ASUSWmi.UniversalControl, ASUSWmi.KB_Light_Down); }