Added on/off control for aura lightbar, lid and logo

This commit is contained in:
Serge
2023-05-05 11:44:33 +02:00
parent c6faec9628
commit 7740678cd4
9 changed files with 165 additions and 84 deletions

View File

@@ -1,14 +1,10 @@
// Source thanks to https://github.com/vddCore/Starlight with some adjustments from me // Source thanks to https://github.com/vddCore/Starlight with some adjustments from me
using Starlight.Communication; using Starlight.Communication;
using System.Management;
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
using System.Text;
using System.Globalization; using System.Globalization;
using System; using System.Management;
using System.Drawing; using System.Text;
using OSD;
using System.Diagnostics;
namespace Starlight.AnimeMatrix namespace Starlight.AnimeMatrix
{ {
@@ -331,7 +327,7 @@ namespace Starlight.AnimeMatrix
int second = DateTime.Now.Second; int second = DateTime.Now.Second;
if (CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern.Contains("H")) if (CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern.Contains("H"))
PresentTextDiagonal(DateTime.Now.ToString("H" + ((second % 2 == 0)?":":" ") + "mm")); PresentTextDiagonal(DateTime.Now.ToString("H" + ((second % 2 == 0) ? ":" : " ") + "mm"));
else else
PresentTextDiagonal(DateTime.Now.ToString("h" + ((second % 2 == 0) ? ":" : " ") + "mmtt")); PresentTextDiagonal(DateTime.Now.ToString("h" + ((second % 2 == 0) ? ":" : " ") + "mmtt"));
} }
@@ -348,14 +344,14 @@ namespace Starlight.AnimeMatrix
using (Font font = new Font("Arial", 24F, GraphicsUnit.Pixel)) using (Font font = new Font("Arial", 24F, GraphicsUnit.Pixel))
{ {
SizeF textSize = g.MeasureString(text1, font); SizeF textSize = g.MeasureString(text1, font);
g.DrawString(text1, font, Brushes.White, (MaxColumns*3 - textSize.Width)+3, -3); g.DrawString(text1, font, Brushes.White, (MaxColumns * 3 - textSize.Width) + 3, -3);
} }
if (text2.Length > 0) if (text2.Length > 0)
using (Font font = new Font("Arial", 18F, GraphicsUnit.Pixel)) using (Font font = new Font("Arial", 18F, GraphicsUnit.Pixel))
{ {
SizeF textSize = g.MeasureString(text2, font); SizeF textSize = g.MeasureString(text2, font);
g.DrawString(text2, font, Brushes.White, (MaxColumns * 3 - textSize.Width)+1, 25); g.DrawString(text2, font, Brushes.White, (MaxColumns * 3 - textSize.Width) + 1, 25);
} }
} }
@@ -369,7 +365,7 @@ namespace Starlight.AnimeMatrix
public void GenerateFrame(Image image, InterpolationMode interpolation = InterpolationMode.High) public void GenerateFrame(Image image, InterpolationMode interpolation = InterpolationMode.High)
{ {
int width = MaxColumns/2 * 6; int width = MaxColumns / 2 * 6;
int height = MaxRows; int height = MaxRows;
int targetWidth = MaxColumns * 2; int targetWidth = MaxColumns * 2;
@@ -396,7 +392,7 @@ namespace Starlight.AnimeMatrix
for (int y = 0; y < bmp.Height; y++) for (int y = 0; y < bmp.Height; y++)
{ {
for (int x = 0; x < bmp.Width; x++) for (int x = 0; x < bmp.Width; x++)
if (x % 2 == (y+dx) % 2) if (x % 2 == (y + dx) % 2)
{ {
var pixel = bmp.GetPixel(x, y); var pixel = bmp.GetPixel(x, y);
var color = (pixel.R + pixel.G + pixel.B) / 3; var color = (pixel.R + pixel.G + pixel.B) / 3;
@@ -411,9 +407,9 @@ namespace Starlight.AnimeMatrix
public void SetLedDiagonal(int x, int y, byte color, int delta = 10) public void SetLedDiagonal(int x, int y, byte color, int delta = 10)
{ {
//x+=delta; //x+=delta;
y-=delta; y -= delta;
int dx = (x - y)/2; int dx = (x - y) / 2;
int dy = x + y; int dy = x + y;
SetLedPlanar(dx, dy, color); SetLedPlanar(dx, dy, color);
} }
@@ -442,11 +438,11 @@ namespace Starlight.AnimeMatrix
for (int y = 0; y < bmp.Height; y++) for (int y = 0; y < bmp.Height; y++)
{ {
for (int x = 0; x < bmp.Width; x++) for (int x = 0; x < bmp.Width; x++)
{ {
var pixel = bmp.GetPixel(x, y); var pixel = bmp.GetPixel(x, y);
var color = (pixel.R + pixel.G + pixel.B) / 3; var color = (pixel.R + pixel.G + pixel.B) / 3;
SetLedDiagonal(x, y, (byte)color); SetLedDiagonal(x, y, (byte)color);
} }
} }
} }

View File

@@ -208,25 +208,37 @@ namespace GHelper
List<AuraDev19b6> flags = new List<AuraDev19b6>(); List<AuraDev19b6> flags = new List<AuraDev19b6>();
if (awake) flags.Add(AuraDev19b6.AwakeKeyb); if (awake)
if (boot) flags.Add(AuraDev19b6.BootKeyb); {
if (sleep) flags.Add(AuraDev19b6.SleepKeyb); flags.Add(AuraDev19b6.AwakeKeyb);
if (shutdown) flags.Add(AuraDev19b6.ShutdownKeyb); flags.Add(AuraDev19b6.AwakeBar);
flags.Add(AuraDev19b6.AwakeLid);
flags.Add(AuraDev19b6.AwakeLogo);
}
flags.Add(AuraDev19b6.AwakeBar); if (boot)
flags.Add(AuraDev19b6.BootBar); {
flags.Add(AuraDev19b6.SleepBar); flags.Add(AuraDev19b6.BootKeyb);
flags.Add(AuraDev19b6.ShutdownBar); flags.Add(AuraDev19b6.BootBar);
flags.Add(AuraDev19b6.BootLid);
flags.Add(AuraDev19b6.BootLogo);
}
flags.Add(AuraDev19b6.AwakeLid); if (sleep)
flags.Add(AuraDev19b6.BootLid); {
flags.Add(AuraDev19b6.SleepLid); flags.Add(AuraDev19b6.SleepKeyb);
flags.Add(AuraDev19b6.ShutdownLid); flags.Add(AuraDev19b6.SleepBar);
flags.Add(AuraDev19b6.SleepLid);
flags.Add(AuraDev19b6.SleepLogo);
}
flags.Add(AuraDev19b6.AwakeLogo); if (shutdown)
flags.Add(AuraDev19b6.BootLogo); {
flags.Add(AuraDev19b6.SleepLogo); flags.Add(AuraDev19b6.ShutdownKeyb);
flags.Add(AuraDev19b6.ShutdownLogo); flags.Add(AuraDev19b6.ShutdownBar);
flags.Add(AuraDev19b6.ShutdownLid);
flags.Add(AuraDev19b6.ShutdownLogo);
}
byte[] msg = AuraDev19b6Extensions.ToBytes(flags.ToArray()); byte[] msg = AuraDev19b6Extensions.ToBytes(flags.ToArray());

View File

@@ -1,8 +1,7 @@
using CustomControls; using CustomControls;
using WinFormsSliderBar;
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
using System.Windows.Forms.DataVisualization.Charting; using System.Windows.Forms.DataVisualization.Charting;
using System.Windows.Forms; using WinFormsSliderBar;
public static class ControlHelper public static class ControlHelper
{ {
@@ -87,7 +86,7 @@ public static class ControlHelper
} }
var sl = control as Slider; var sl = control as Slider;
if (sl != null) if (sl != null)
{ {
sl.borderColor = RForm.buttonMain; sl.borderColor = RForm.buttonMain;
} }

View File

@@ -30,6 +30,11 @@ namespace CustomControls
public bool darkTheme = false; public bool darkTheme = false;
public RForm()
{
DoubleBuffered = true;
}
public static void InitColors(bool darkTheme) public static void InitColors(bool darkTheme)
{ {
if (darkTheme) if (darkTheme)
@@ -97,7 +102,7 @@ namespace CustomControls
} }
public class RComboBox : ComboBox public class RComboBox : ComboBox
{ {
private Color borderColor = Color.Gray; private Color borderColor = Color.Gray;
[DefaultValue(typeof(Color), "Gray")] [DefaultValue(typeof(Color), "Gray")]
@@ -332,8 +337,9 @@ namespace CustomControls
public RButton() public RButton()
{ {
this.FlatStyle = FlatStyle.Flat; DoubleBuffered = true;
this.FlatAppearance.BorderSize = 0; FlatStyle = FlatStyle.Flat;
FlatAppearance.BorderSize = 0;
} }
private GraphicsPath GetFigurePath(Rectangle rect, int radius) private GraphicsPath GetFigurePath(Rectangle rect, int radius)

View File

@@ -1,7 +1,6 @@
using System.Diagnostics; using CustomControls;
using System.Diagnostics;
using System.Windows.Forms.DataVisualization.Charting; using System.Windows.Forms.DataVisualization.Charting;
using CustomControls;
using GHelper.Gpu;
namespace GHelper namespace GHelper
{ {

View File

@@ -155,14 +155,16 @@ public static class HardwareMonitor
} }
_gpuControl.Dispose(); _gpuControl.Dispose();
/*
_gpuControl = new AmdGpuControl(); _gpuControl = new AmdGpuControl();
if (_gpuControl.IsValid) if (_gpuControl.IsValid)
{ {
GpuControl = _gpuControl; GpuControl = _gpuControl;
return; return;
} }
_gpuControl.Dispose(); _gpuControl.Dispose();
*/
GpuControl = null; GpuControl = null;
} }

View File

@@ -5,7 +5,6 @@ using System.Management;
using System.Reflection; using System.Reflection;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Security.Principal; using System.Security.Principal;
using System.Windows.Forms;
using Tools; using Tools;
namespace GHelper namespace GHelper
@@ -173,11 +172,15 @@ namespace GHelper
SettingsToggle(); SettingsToggle();
} }
settingsForm.RefreshSensors();
Application.Run(); Application.Run();
} }
static void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e) static void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
{ {
@@ -373,6 +376,7 @@ namespace GHelper
{ {
SettingsToggle(); SettingsToggle();
} }
} }

View File

@@ -1,11 +1,11 @@
using CustomControls; using CustomControls;
using Starlight.AnimeMatrix; using Starlight.AnimeMatrix;
using System;
using System.Diagnostics; using System.Diagnostics;
using System.Drawing.Imaging; using System.Drawing.Imaging;
using System.Globalization;
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text.Json; using System.Text.Json;
using System.Threading;
using System.Timers; using System.Timers;
using Tools; using Tools;
@@ -16,7 +16,7 @@ namespace GHelper
{ {
private ContextMenuStrip contextMenuStrip = new CustomContextMenu(); private ContextMenuStrip contextMenuStrip = new CustomContextMenu();
private ToolStripMenuItem menuSilent, menuBalanced, menuTurbo; private ToolStripMenuItem menuSilent, menuBalanced, menuTurbo, menuEco, menuStandard, menuUltimate, menuOptimized;
public static System.Timers.Timer aTimer = default!; public static System.Timers.Timer aTimer = default!;
public static Point trayPoint; public static Point trayPoint;
@@ -132,6 +132,7 @@ namespace GHelper
aTimer = new System.Timers.Timer(1000); aTimer = new System.Timers.Timer(1000);
aTimer.Elapsed += OnTimedEvent; aTimer.Elapsed += OnTimedEvent;
aTimer.Enabled = true;
SetVersionLabel(Properties.Strings.VersionLabel + ": " + Assembly.GetExecutingAssembly().GetName().Version); SetVersionLabel(Properties.Strings.VersionLabel + ": " + Assembly.GetExecutingAssembly().GetName().Version);
@@ -141,7 +142,7 @@ namespace GHelper
labelModel.Text = model; labelModel.Text = model;
this.TopMost = Program.config.getConfig("topmost") == 1; TopMost = Program.config.getConfig("topmost") == 1;
SetContextMenu(); SetContextMenu();
@@ -151,18 +152,49 @@ namespace GHelper
CheckForUpdatesAsync(); CheckForUpdatesAsync();
}); });
} }
private void SetContextMenu() public void SetContextMenu()
{ {
contextMenuStrip.Items.Clear();
Padding padding = new Padding(5, 5, 5, 5); Padding padding = new Padding(5, 5, 5, 5);
var menuTitle = new ToolStripMenuItem(Properties.Strings.PerformanceMode); /*
menuTitle.Margin = padding; TableLayoutPanel[] tables = { tablePerf, tableGPU };
menuTitle.Enabled = false; string[] titles = { Properties.Strings.PerformanceMode, Properties.Strings.GPUMode};
contextMenuStrip.Items.Add(menuTitle);
int index = 0;
foreach (TableLayoutPanel table in tables)
{
var title = new ToolStripMenuItem(titles[index]);
title.Margin = padding;
title.Enabled = false;
contextMenuStrip.Items.Add(title);
foreach (Control control in table.Controls)
{
var button = control as RButton;
if (button != null && !button.Secondary && button.Enabled)
{
var menu = new ToolStripMenuItem(button.Text);
menu.Margin = padding;
menu.Checked = button.Activated;
menu.Click += delegate { button.PerformClick(); };
contextMenuStrip.Items.Add(menu);
}
}
contextMenuStrip.Items.Add("-");
index++;
}*/
var title = new ToolStripMenuItem(Properties.Strings.PerformanceMode);
title.Margin = padding;
title.Enabled = false;
contextMenuStrip.Items.Add(title);
menuSilent = new ToolStripMenuItem(Properties.Strings.Silent); menuSilent = new ToolStripMenuItem(Properties.Strings.Silent);
menuSilent.Click += ButtonSilent_Click; menuSilent.Click += ButtonSilent_Click;
@@ -180,6 +212,40 @@ namespace GHelper
menuTurbo.Margin = padding; menuTurbo.Margin = padding;
contextMenuStrip.Items.Add(menuTurbo); contextMenuStrip.Items.Add(menuTurbo);
contextMenuStrip.Items.Add("-");
var titleGPU = new ToolStripMenuItem(Properties.Strings.GPUMode);
titleGPU.Margin = padding;
titleGPU.Enabled = false;
contextMenuStrip.Items.Add(titleGPU);
menuEco = new ToolStripMenuItem(Properties.Strings.EcoMode);
menuEco.Click += ButtonEco_Click;
menuEco.Margin = padding;
contextMenuStrip.Items.Add(menuEco);
menuStandard = new ToolStripMenuItem(Properties.Strings.StandardMode);
menuStandard.Click += ButtonStandard_Click;
menuStandard.Margin = padding;
contextMenuStrip.Items.Add(menuStandard);
menuUltimate = new ToolStripMenuItem(Properties.Strings.UltimateMode);
menuUltimate.Click += ButtonUltimate_Click;
menuUltimate.Margin = padding;
contextMenuStrip.Items.Add(menuUltimate);
menuOptimized = new ToolStripMenuItem(Properties.Strings.Optimized);
menuOptimized.Click += ButtonOptimized_Click;
menuOptimized.Margin = padding;
contextMenuStrip.Items.Add(menuOptimized);
contextMenuStrip.Items.Add("-");
var quit = new ToolStripMenuItem(Properties.Strings.Quit);
quit.Click += ButtonQuit_Click;
quit.Margin = padding;
contextMenuStrip.Items.Add(quit);
contextMenuStrip.ShowCheckMargin = true; contextMenuStrip.ShowCheckMargin = true;
contextMenuStrip.RenderMode = ToolStripRenderMode.System; contextMenuStrip.RenderMode = ToolStripRenderMode.System;
@@ -199,7 +265,8 @@ namespace GHelper
if (Program.wmi.DeviceGet(ASUSWmi.GPUXG) == 1) if (Program.wmi.DeviceGet(ASUSWmi.GPUXG) == 1)
{ {
Program.wmi.DeviceSet(ASUSWmi.GPUXG, 0, "GPU XGM"); Program.wmi.DeviceSet(ASUSWmi.GPUXG, 0, "GPU XGM");
} else }
else
{ {
Program.wmi.DeviceSet(ASUSWmi.GPUXG, 1, "GPU XGM"); Program.wmi.DeviceSet(ASUSWmi.GPUXG, 1, "GPU XGM");
} }
@@ -562,7 +629,7 @@ namespace GHelper
break; break;
default: default:
mat.SetBuiltInAnimation(true, animation); mat.SetBuiltInAnimation(true, animation);
Logger.WriteLine("Matrix builtin "+animation.AsByte); Logger.WriteLine("Matrix builtin " + animation.AsByte);
break; break;
} }
@@ -802,7 +869,7 @@ namespace GHelper
ButtonEnabled(buttonMiniled, screenEnabled); ButtonEnabled(buttonMiniled, screenEnabled);
labelSreen.Text = screenEnabled labelSreen.Text = screenEnabled
? Properties.Strings.LaptopScreen + ": " + frequency + "Hz" + ((overdrive == 1) ? " + " + Properties.Strings.Overdrive : "") ? Properties.Strings.LaptopScreen + ": " + frequency + "Hz" + ((overdrive == 1 && overdriveSetting) ? " + " + Properties.Strings.Overdrive : "")
: Properties.Strings.LaptopScreen + ": " + Properties.Strings.TurnedOff; : Properties.Strings.LaptopScreen + ": " + Properties.Strings.TurnedOff;
button60Hz.Activated = false; button60Hz.Activated = false;
@@ -826,7 +893,8 @@ namespace GHelper
{ {
button120Hz.Text = maxFrequency.ToString() + "Hz" + (overdriveSetting ? " + OD" : ""); button120Hz.Text = maxFrequency.ToString() + "Hz" + (overdriveSetting ? " + OD" : "");
panelScreen.Visible = true; panelScreen.Visible = true;
} else if (maxFrequency > 0) }
else if (maxFrequency > 0)
{ {
panelScreen.Visible = false; panelScreen.Visible = false;
} }
@@ -876,8 +944,7 @@ namespace GHelper
SetGPUMode(ASUSWmi.GPUModeEco); SetGPUMode(ASUSWmi.GPUModeEco);
} }
public void RefreshSensors(bool force = false)
private void RefreshSensors(bool force = false)
{ {
if (!force && Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastRefresh) < 2000) return; if (!force && Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastRefresh) < 2000) return;
@@ -893,7 +960,7 @@ namespace GHelper
cpuTemp = ": " + Math.Round((decimal)HardwareMonitor.cpuTemp).ToString() + "°C "; cpuTemp = ": " + Math.Round((decimal)HardwareMonitor.cpuTemp).ToString() + "°C ";
if (HardwareMonitor.batteryDischarge > 0) if (HardwareMonitor.batteryDischarge > 0)
battery = Properties.Strings.Discharging +": " + Math.Round((decimal)HardwareMonitor.batteryDischarge, 1).ToString() + "W"; battery = Properties.Strings.Discharging + ": " + Math.Round((decimal)HardwareMonitor.batteryDischarge, 1).ToString() + "W";
if (HardwareMonitor.gpuTemp > 0) if (HardwareMonitor.gpuTemp > 0)
{ {
@@ -930,11 +997,7 @@ namespace GHelper
this.Top = Screen.FromControl(this).WorkingArea.Height - 10 - this.Height; this.Top = Screen.FromControl(this).WorkingArea.Height - 10 - this.Height;
this.Activate(); this.Activate();
Task.Run(async () => aTimer.Enabled = true;
{
await Task.Delay(TimeSpan.FromSeconds(1));
aTimer.Enabled = true;
});
} }
else else
@@ -946,7 +1009,7 @@ namespace GHelper
private void SetPerformanceLabel() private void SetPerformanceLabel()
{ {
labelPerf.Text = Properties.Strings.PerformanceMode + (customFans?"+":"") + ((customPower > 0) ? " "+customPower+"W" : ""); labelPerf.Text = Properties.Strings.PerformanceMode + (customFans ? "+" : "") + ((customPower > 0) ? " " + customPower + "W" : "");
} }
public void SetPower() public void SetPower()
@@ -1074,30 +1137,27 @@ namespace GHelper
buttonBalanced.Activated = false; buttonBalanced.Activated = false;
buttonTurbo.Activated = false; buttonTurbo.Activated = false;
menuSilent.Checked = false;
menuBalanced.Checked = false;
menuTurbo.Checked = false;
switch (PerformanceMode) switch (PerformanceMode)
{ {
case ASUSWmi.PerformanceSilent: case ASUSWmi.PerformanceSilent:
buttonSilent.Activated = true; buttonSilent.Activated = true;
menuSilent.Checked = true;
perfName = Properties.Strings.Silent; perfName = Properties.Strings.Silent;
break; break;
case ASUSWmi.PerformanceTurbo: case ASUSWmi.PerformanceTurbo:
buttonTurbo.Activated = true; buttonTurbo.Activated = true;
menuTurbo.Checked = true;
perfName = Properties.Strings.Turbo; perfName = Properties.Strings.Turbo;
break; break;
default: default:
buttonBalanced.Activated = true; buttonBalanced.Activated = true;
menuBalanced.Checked = true;
PerformanceMode = ASUSWmi.PerformanceBalanced; PerformanceMode = ASUSWmi.PerformanceBalanced;
perfName = Properties.Strings.Balanced; perfName = Properties.Strings.Balanced;
break; break;
} }
menuSilent.Checked = buttonSilent.Activated;
menuBalanced.Checked = buttonBalanced.Activated;
menuTurbo.Checked = buttonTurbo.Activated;
int oldMode = Program.config.getConfig("performance_mode"); int oldMode = Program.config.getConfig("performance_mode");
Program.config.setConfig("performance_" + (int)SystemInformation.PowerStatus.PowerLineStatus, PerformanceMode); Program.config.setConfig("performance_" + (int)SystemInformation.PowerStatus.PowerLineStatus, PerformanceMode);
Program.config.setConfig("performance_mode", PerformanceMode); Program.config.setConfig("performance_mode", PerformanceMode);
@@ -1121,7 +1181,7 @@ namespace GHelper
if (Program.config.getConfigPerfString("scheme") is not null) if (Program.config.getConfigPerfString("scheme") is not null)
NativeMethods.SetPowerScheme(Program.config.getConfigPerfString("scheme")); NativeMethods.SetPowerScheme(Program.config.getConfigPerfString("scheme"));
else else
NativeMethods.SetPowerScheme(PerformanceMode); NativeMethods.SetPowerScheme(PerformanceMode);
if (Program.config.getConfigPerf("auto_boost") != -1) if (Program.config.getConfigPerf("auto_boost") != -1)
@@ -1195,8 +1255,8 @@ namespace GHelper
public static bool IsPlugged() public static bool IsPlugged()
{ {
bool optimizedUSBC = Program.config.getConfig("optimized_usbc") != 1; bool optimizedUSBC = Program.config.getConfig("optimized_usbc") != 1;
return SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online && return SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online &&
(optimizedUSBC || Program.wmi.DeviceGet(ASUSWmi.ChargerMode) != ASUSWmi.ChargerUSB); (optimizedUSBC || Program.wmi.DeviceGet(ASUSWmi.ChargerMode) != ASUSWmi.ChargerUSB);
} }
@@ -1268,6 +1328,7 @@ namespace GHelper
tablePerf.ColumnCount = 0; tablePerf.ColumnCount = 0;
tableGPU.ColumnCount = 0; tableGPU.ColumnCount = 0;
tableScreen.ColumnCount = 0; tableScreen.ColumnCount = 0;
menuUltimate.Visible = false;
} }
//tableLayoutMatrix.ColumnCount = 0; //tableLayoutMatrix.ColumnCount = 0;
@@ -1278,7 +1339,7 @@ namespace GHelper
int connected = Program.wmi.DeviceGet(ASUSWmi.GPUXGConnected); int connected = Program.wmi.DeviceGet(ASUSWmi.GPUXGConnected);
int enabled = Program.wmi.DeviceGet(ASUSWmi.GPUXG); int enabled = Program.wmi.DeviceGet(ASUSWmi.GPUXG);
buttonXGM.Visible = (connected == 1); buttonXGM.Enabled = buttonXGM.Visible = (connected == 1);
buttonXGM.Activated = (enabled == 1); buttonXGM.Activated = (enabled == 1);
} }
@@ -1332,7 +1393,7 @@ namespace GHelper
ButtonEnabled(buttonStandard, false); ButtonEnabled(buttonStandard, false);
ButtonEnabled(buttonUltimate, false); ButtonEnabled(buttonUltimate, false);
labelGPU.Text = Properties.Strings.GPUMode + ": "+ Properties.Strings.GPUChanging + " ..."; labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUChanging + " ...";
Thread t = new Thread(() => Thread t = new Thread(() =>
{ {
@@ -1461,6 +1522,10 @@ namespace GHelper
break; break;
} }
menuEco.Checked = buttonEco.Activated;
menuStandard.Checked = buttonStandard.Activated;
menuUltimate.Checked = buttonUltimate.Activated;
menuOptimized.Checked = buttonOptimized.Activated;
} }

View File

@@ -4,9 +4,7 @@
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security> <security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false" /> <!-- UAC Manifest Options
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following. requestedExecutionLevel node with one of the following.