diff --git a/ASUSWmi.cs b/ASUSWmi.cs
index 3e3395f4..08c61c51 100644
--- a/ASUSWmi.cs
+++ b/ASUSWmi.cs
@@ -1,5 +1,6 @@
using System.Management;
using System.Runtime.InteropServices;
+using System.Diagnostics;
public class ASUSWmi
{
@@ -115,7 +116,7 @@ public class ASUSWmi
BitConverter.GetBytes((uint)args.Length).CopyTo(acpiBuf, 4);
Array.Copy(args, 0, acpiBuf, 8, args.Length);
- Console.WriteLine(BitConverter.ToString(acpiBuf, 0, acpiBuf.Length));
+ //Debug.WriteLine(BitConverter.ToString(acpiBuf, 0, acpiBuf.Length));
Control(CONTROL_CODE, acpiBuf, outBuffer);
@@ -149,7 +150,7 @@ public class ASUSWmi
return BitConverter.ToInt32(status, 0) - 65536;
}
- public byte[] DeviceGetBuffer(uint DeviceID, int Status = 0)
+ public byte[] DeviceGetBuffer(uint DeviceID, uint Status = 0)
{
byte[] args = new byte[8];
BitConverter.GetBytes((uint)DeviceID).CopyTo(args, 0);
@@ -158,17 +159,31 @@ public class ASUSWmi
}
- public void SetFanCurve(byte[] curve)
+ public void SetFanCurve(int device, byte[] curve)
{
- DeviceSet(DevsCPUFanCurve, curve);
+ if (device == 1)
+ DeviceSet(DevsGPUFanCurve, curve);
+ else
+ DeviceSet(DevsCPUFanCurve, curve);
}
- public byte[] GetFanCurve(int mode = 0)
+ public byte[] GetFanCurve(int device, int mode = 0)
{
- if (mode == 1) mode = 2;
- if (mode == 2) mode = 1; // because it's asus, and modes are swapped here
+ uint fan_mode;
+
+ // because it's asus, and modes are swapped here
+ switch (mode)
+ {
+ case 1:fan_mode = 2; break;
+ case 2: fan_mode = 1; break;
+ default: fan_mode = 0; break;
+ }
+
+ if (device == 1)
+ return DeviceGetBuffer(DevsGPUFanCurve, fan_mode);
+ else
+ return DeviceGetBuffer(DevsCPUFanCurve, fan_mode);
- return DeviceGetBuffer(DevsCPUFanCurve, mode);
}
diff --git a/Aura.cs b/Aura.cs
new file mode 100644
index 00000000..7ad3dcb7
--- /dev/null
+++ b/Aura.cs
@@ -0,0 +1,68 @@
+using HidLibrary;
+
+public class Aura
+{
+
+ static byte[] MESSAGE_SET = { 0x5d, 0xb5 };
+ static byte[] MESSAGE_APPLY = { 0x5d, 0xb4 };
+
+ public const int Static = 0;
+ public const int Breathe = 1;
+ public const int Strobe = 2;
+ public const int Rainbow = 3;
+ public const int Dingding = 10;
+
+ public const int SpeedSlow = 0;
+ public const int SpeedMedium = 1;
+ public const int SpeedHigh = 2;
+
+ public static int Mode = Static;
+ public static Color Color1 = Color.White;
+ public static Color Color2 = Color.Black;
+ public static int Speed = SpeedSlow;
+
+ public static byte[] AuraMessage(int mode, Color color, Color color2, int speed)
+ {
+ byte[] msg = new byte[17];
+ msg[0] = 0x5d;
+ msg[1] = 0xb3;
+ msg[2] = 0x00; // Zone
+ msg[3] = (byte)mode; // Aura Mode
+ msg[4] = (byte)(color.R); // R
+ msg[5] = (byte)(color.G); // G
+ msg[6] = (byte)(color.B); // B
+ msg[7] = (byte)speed; // aura.speed as u8;
+ msg[8] = 0; // aura.direction as u8;
+ msg[10] = (byte)(color2.R); // R
+ msg[11] = (byte)(color2.G); // G
+ msg[12] = (byte)(color2.B); // B
+ return msg;
+ }
+
+ public static void ApplyAura()
+ {
+
+ HidDevice[] HidDeviceList;
+ int[] deviceIds = { 0x1854, 0x1869, 0x1866, 0x19b6 };
+
+ HidDeviceList = HidDevices.Enumerate(0x0b05, deviceIds).ToArray();
+
+ foreach (HidDevice device in HidDeviceList)
+ {
+ if (device.IsConnected)
+ {
+ if (device.Description.IndexOf("HID") >= 0)
+ {
+ device.OpenDevice();
+ byte[] msg = AuraMessage(Mode, Color1, Color2, Speed);
+ device.Write(msg);
+ device.Write(MESSAGE_SET);
+ device.Write(MESSAGE_APPLY);
+ device.CloseDevice();
+ }
+
+ }
+ }
+
+ }
+}
diff --git a/Fans.Designer.cs b/Fans.Designer.cs
new file mode 100644
index 00000000..de4656b7
--- /dev/null
+++ b/Fans.Designer.cs
@@ -0,0 +1,125 @@
+namespace GHelper
+{
+ partial class Fans
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
+ System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
+ System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
+ System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
+ System.Windows.Forms.DataVisualization.Charting.Legend legend2 = new System.Windows.Forms.DataVisualization.Charting.Legend();
+ System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series();
+ chartCPU = new System.Windows.Forms.DataVisualization.Charting.Chart();
+ buttonApply = new Button();
+ buttonReset = new Button();
+ chartGPU = new System.Windows.Forms.DataVisualization.Charting.Chart();
+ ((System.ComponentModel.ISupportInitialize)chartCPU).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
+ SuspendLayout();
+ //
+ // chartCPU
+ //
+ chartArea1.Name = "ChartArea1";
+ chartCPU.ChartAreas.Add(chartArea1);
+ legend1.Name = "Legend1";
+ chartCPU.Legends.Add(legend1);
+ chartCPU.Location = new Point(16, 13);
+ chartCPU.Name = "chartCPU";
+ series1.ChartArea = "ChartArea1";
+ series1.Legend = "Legend1";
+ series1.Name = "Series1";
+ chartCPU.Series.Add(series1);
+ chartCPU.Size = new Size(900, 446);
+ chartCPU.TabIndex = 0;
+ chartCPU.Text = "chartCPU";
+ //
+ // buttonApply
+ //
+ buttonApply.Location = new Point(662, 944);
+ buttonApply.Name = "buttonApply";
+ buttonApply.Size = new Size(254, 46);
+ buttonApply.TabIndex = 1;
+ buttonApply.Text = "Apply Fan Curve";
+ buttonApply.UseVisualStyleBackColor = true;
+ //
+ // buttonReset
+ //
+ buttonReset.Location = new Point(402, 944);
+ buttonReset.Name = "buttonReset";
+ buttonReset.Size = new Size(254, 46);
+ buttonReset.TabIndex = 2;
+ buttonReset.Text = "Load Default";
+ buttonReset.UseVisualStyleBackColor = true;
+ //
+ // chartGPU
+ //
+ chartArea2.Name = "ChartArea1";
+ chartGPU.ChartAreas.Add(chartArea2);
+ legend2.Name = "Legend1";
+ chartGPU.Legends.Add(legend2);
+ chartGPU.Location = new Point(16, 477);
+ chartGPU.Name = "chartGPU";
+ series2.ChartArea = "ChartArea1";
+ series2.Legend = "Legend1";
+ series2.Name = "Series1";
+ chartGPU.Series.Add(series2);
+ chartGPU.Size = new Size(900, 448);
+ chartGPU.TabIndex = 3;
+ chartGPU.Text = "chart1";
+ //
+ // Fans
+ //
+ AutoScaleDimensions = new SizeF(13F, 32F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(940, 1020);
+ Controls.Add(chartGPU);
+ Controls.Add(buttonReset);
+ Controls.Add(buttonApply);
+ Controls.Add(chartCPU);
+ FormBorderStyle = FormBorderStyle.FixedSingle;
+ MaximizeBox = false;
+ MdiChildrenMinimizedAnchorBottom = false;
+ MinimizeBox = false;
+ Name = "Fans";
+ ShowIcon = false;
+ ShowInTaskbar = false;
+ StartPosition = FormStartPosition.CenterScreen;
+ Text = "Fans";
+ ((System.ComponentModel.ISupportInitialize)chartCPU).EndInit();
+ ((System.ComponentModel.ISupportInitialize)chartGPU).EndInit();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private System.Windows.Forms.DataVisualization.Charting.Chart chartCPU;
+ private Button buttonApply;
+ private Button buttonReset;
+ private System.Windows.Forms.DataVisualization.Charting.Chart chartGPU;
+ }
+}
\ No newline at end of file
diff --git a/Fans.cs b/Fans.cs
new file mode 100644
index 00000000..e7552880
--- /dev/null
+++ b/Fans.cs
@@ -0,0 +1,185 @@
+using System;
+using System.Diagnostics;
+using System.Windows.Forms.DataVisualization.Charting;
+
+namespace GHelper
+{
+ public partial class Fans : Form
+ {
+
+ DataPoint curPoint = null;
+ Series seriesCPU;
+ Series seriesGPU;
+
+ void SetChart(Chart chart, string title)
+ {
+ chart.Titles.Add(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.Legends[0].Enabled = false;
+
+ }
+
+ public Fans()
+ {
+ InitializeComponent();
+
+ SetChart(chartCPU, "CPU Fan Profile");
+ SetChart(chartGPU, "GPU Fan Profile");
+
+ seriesCPU = chartCPU.Series.Add("CPU");
+ seriesGPU = chartGPU.Series.Add("GPU");
+
+ seriesCPU.Color = Color.Blue;
+ seriesGPU.Color = Color.Red;
+
+ LoadFans();
+
+ chartCPU.MouseMove += ChartCPU_MouseMove;
+ chartCPU.MouseUp += ChartCPU_MouseUp;
+
+ chartGPU.MouseMove += ChartCPU_MouseMove;
+ chartGPU.MouseUp += ChartCPU_MouseUp;
+
+ buttonReset.Click += ButtonReset_Click;
+ buttonApply.Click += ButtonApply_Click;
+
+ }
+
+ public void LoadFans()
+ {
+ LoadProfile(seriesCPU, 0);
+ LoadProfile(seriesGPU, 1);
+ }
+
+ byte[] StringToBytes(string str)
+ {
+ String[] arr = str.Split('-');
+ byte[] array = new byte[arr.Length];
+ for (int i = 0; i < arr.Length; i++) array[i] = Convert.ToByte(arr[i], 16);
+ return array;
+ }
+
+ string GetFanName(int device)
+ {
+ int mode = Program.config.getConfig("performance_mode");
+ string name;
+
+ if (device == 1)
+ name = "gpu";
+ else
+ name = "cpu";
+
+ return "fan_profile_" + name + "_" + mode;
+ }
+
+ void LoadProfile(Series series, int device, int def = 0)
+ {
+
+ series.ChartType = SeriesChartType.Line;
+ series.MarkerSize = 10;
+ series.MarkerStyle = MarkerStyle.Circle;
+
+ series.Points.Clear();
+
+ int mode = Program.config.getConfig("performance_mode");
+ string curveString = Program.config.getConfigString(GetFanName(device));
+ byte[] curve = {};
+
+ if (curveString is not null)
+ curve = StringToBytes(curveString);
+
+ if (def == 1 || curve.Length < 16)
+ curve = Program.wmi.GetFanCurve(device, mode);
+
+
+ Debug.WriteLine(BitConverter.ToString(curve));
+
+ byte old = 0;
+ for (int i = 0; i < 8; i++)
+ {
+ if (curve[i] == old) curve[i]++; // preventing 2 points in same spot from default asus profiles
+ series.Points.AddXY(curve[i], curve[i + 8]);
+ old = curve[i];
+ }
+
+ }
+
+ void ApplyProfile(Series series, int device)
+ {
+ byte[] curve = new byte[16];
+ int i = 0;
+ foreach (DataPoint point in series.Points)
+ {
+ curve[i] = (byte)point.XValue;
+ curve[i + 8] = (byte)point.YValues.First();
+ i++;
+ }
+
+ string bitCurve = BitConverter.ToString(curve);
+ Debug.WriteLine(bitCurve);
+ Program.config.setConfig(GetFanName(device), bitCurve);
+
+ Program.wmi.SetFanCurve(device, curve);
+
+ }
+
+
+ private void ButtonApply_Click(object? sender, EventArgs e)
+ {
+ ApplyProfile(seriesCPU, 0);
+ ApplyProfile(seriesGPU, 1);
+ }
+
+ private void ButtonReset_Click(object? sender, EventArgs e)
+ {
+ LoadProfile(seriesCPU, 0, 1);
+ LoadProfile(seriesGPU, 1, 1);
+ }
+
+ private void ChartCPU_MouseUp(object? sender, MouseEventArgs e)
+ {
+ curPoint = null;
+ }
+
+ private void ChartCPU_MouseMove(object? sender, MouseEventArgs e)
+ {
+
+ if (sender is null) return;
+
+ Chart chart = (Chart)sender;
+
+ if (e.Button.HasFlag(MouseButtons.Left))
+ {
+ ChartArea ca = chart.ChartAreas[0];
+ Axis ax = ca.AxisX;
+ Axis ay = ca.AxisY;
+
+ HitTestResult hit = chart.HitTest(e.X, e.Y);
+ if (hit.Series is not null && hit.PointIndex >= 0)
+ curPoint = hit.Series.Points[hit.PointIndex];
+
+
+ if (curPoint != null)
+ {
+ Series s = hit.Series;
+ double dx = ax.PixelPositionToValue(e.X);
+ double dy = ay.PixelPositionToValue(e.Y);
+
+ if (dx < 0) dx = 0;
+ if (dx > 100) dx = 100;
+
+ if (dy < 0) dy = 0;
+ if (dy > 100) dy = 100;
+
+ curPoint.XValue = dx;
+ curPoint.YValues[0] = dy;
+ }
+ }
+ }
+ }
+
+}
diff --git a/Fans.resx b/Fans.resx
new file mode 100644
index 00000000..f298a7be
--- /dev/null
+++ b/Fans.resx
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/GHelper.csproj b/GHelper.csproj
index 86be3f04..89db6249 100644
--- a/GHelper.csproj
+++ b/GHelper.csproj
@@ -12,6 +12,7 @@
favicon.ico
AnyCPU;x64
8.0
+ GHelper
@@ -35,6 +36,7 @@
+
@@ -48,22 +50,22 @@
- Always
+ Never
- Always
+ Never
- Always
+ Never
- Always
+ Never
- Always
+ Never
- Always
+ Never
diff --git a/NativeMethods.cs b/NativeMethods.cs
new file mode 100644
index 00000000..839251dd
--- /dev/null
+++ b/NativeMethods.cs
@@ -0,0 +1,227 @@
+using System.Runtime.InteropServices;
+
+public class NativeMethods
+{
+
+ [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
+ static extern UInt32 PowerWriteDCValueIndex(IntPtr RootPowerKey,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid SchemeGuid,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid SubGroupOfPowerSettingsGuid,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid PowerSettingGuid,
+ int AcValueIndex);
+
+ [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
+ static extern UInt32 PowerWriteACValueIndex(IntPtr RootPowerKey,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid SchemeGuid,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid SubGroupOfPowerSettingsGuid,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid PowerSettingGuid,
+ int AcValueIndex);
+
+ [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
+ static extern UInt32 PowerReadACValueIndex(IntPtr RootPowerKey,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid SchemeGuid,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid SubGroupOfPowerSettingsGuid,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid PowerSettingGuid,
+ out IntPtr AcValueIndex
+ );
+
+ [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
+ static extern UInt32 PowerReadDCValueIndex(IntPtr RootPowerKey,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid SchemeGuid,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid SubGroupOfPowerSettingsGuid,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid PowerSettingGuid,
+ out IntPtr AcValueIndex
+ );
+
+
+
+ [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
+ static extern UInt32 PowerSetActiveScheme(IntPtr RootPowerKey,
+ [MarshalAs(UnmanagedType.LPStruct)] Guid SchemeGuid);
+
+ [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
+ static extern UInt32 PowerGetActiveScheme(IntPtr UserPowerKey, out IntPtr ActivePolicyGuid);
+
+ static readonly Guid GUID_CPU = new Guid("54533251-82be-4824-96c1-47b60b740d00");
+ static readonly Guid GUID_BOOST = new Guid("be337238-0d82-4146-a960-4f3749d470c7");
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
+ public struct DEVMODE
+ {
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
+ public string dmDeviceName;
+
+ public short dmSpecVersion;
+ public short dmDriverVersion;
+ public short dmSize;
+ public short dmDriverExtra;
+ public int dmFields;
+ public int dmPositionX;
+ public int dmPositionY;
+ public int dmDisplayOrientation;
+ public int dmDisplayFixedOutput;
+ public short dmColor;
+ public short dmDuplex;
+ public short dmYResolution;
+ public short dmTTOption;
+ public short dmCollate;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
+ public string dmFormName;
+
+ public short dmLogPixels;
+ public short dmBitsPerPel;
+ public int dmPelsWidth;
+ public int dmPelsHeight;
+ public int dmDisplayFlags;
+ public int dmDisplayFrequency;
+ public int dmICMMethod;
+ public int dmICMIntent;
+ public int dmMediaType;
+ public int dmDitherType;
+ public int dmReserved1;
+ public int dmReserved2;
+ public int dmPanningWidth;
+ public int dmPanningHeight;
+ };
+
+ [Flags()]
+ public enum DisplaySettingsFlags : int
+ {
+ CDS_UPDATEREGISTRY = 1,
+ CDS_TEST = 2,
+ CDS_FULLSCREEN = 4,
+ CDS_GLOBAL = 8,
+ CDS_SET_PRIMARY = 0x10,
+ CDS_RESET = 0x40000000,
+ CDS_NORESET = 0x10000000
+ }
+
+ // PInvoke declaration for EnumDisplaySettings Win32 API
+ [DllImport("user32.dll")]
+ public static extern int EnumDisplaySettingsEx(
+ string lpszDeviceName,
+ int iModeNum,
+ ref DEVMODE lpDevMode);
+
+ // PInvoke declaration for ChangeDisplaySettings Win32 API
+ [DllImport("user32.dll")]
+ public static extern int ChangeDisplaySettingsEx(
+ string lpszDeviceName, ref DEVMODE lpDevMode, IntPtr hwnd,
+ DisplaySettingsFlags dwflags, IntPtr lParam);
+
+
+ public const int ENUM_CURRENT_SETTINGS = -1;
+
+ public const string laptopScreenName = "\\\\.\\DISPLAY1";
+
+ public static DEVMODE CreateDevmode()
+ {
+ DEVMODE dm = new DEVMODE();
+ dm.dmDeviceName = new String(new char[32]);
+ dm.dmFormName = new String(new char[32]);
+ dm.dmSize = (short)Marshal.SizeOf(dm);
+ return dm;
+ }
+
+ public static Screen FindLaptopScreen()
+ {
+ var screens = Screen.AllScreens;
+ Screen laptopScreen = null;
+
+ foreach (var screen in screens)
+ {
+ if (screen.DeviceName == laptopScreenName)
+ {
+ laptopScreen = screen;
+ }
+ }
+
+ if (laptopScreen is null) return null;
+ else return laptopScreen;
+ }
+
+ public static int GetRefreshRate()
+ {
+ DEVMODE dm = CreateDevmode();
+
+ Screen laptopScreen = FindLaptopScreen();
+ int frequency = -1;
+
+ if (laptopScreen is null)
+ return -1;
+
+ if (0 != NativeMethods.EnumDisplaySettingsEx(laptopScreen.DeviceName, NativeMethods.ENUM_CURRENT_SETTINGS, ref dm))
+ {
+ frequency = dm.dmDisplayFrequency;
+ }
+
+ return frequency;
+ }
+
+ public static int SetRefreshRate(int frequency = 120)
+ {
+ DEVMODE dm = CreateDevmode();
+ Screen laptopScreen = FindLaptopScreen();
+
+ if (laptopScreen is null)
+ return -1;
+
+ if (0 != NativeMethods.EnumDisplaySettingsEx(laptopScreen.DeviceName, NativeMethods.ENUM_CURRENT_SETTINGS, ref dm))
+ {
+ dm.dmDisplayFrequency = frequency;
+ int iRet = NativeMethods.ChangeDisplaySettingsEx(laptopScreen.DeviceName, ref dm, IntPtr.Zero, DisplaySettingsFlags.CDS_UPDATEREGISTRY, IntPtr.Zero);
+ return iRet;
+ }
+
+ return 0;
+
+ }
+
+ static Guid GetActiveScheme()
+ {
+ IntPtr pActiveSchemeGuid;
+ var hr = PowerGetActiveScheme(IntPtr.Zero, out pActiveSchemeGuid);
+ Guid activeSchemeGuid = (Guid)Marshal.PtrToStructure(pActiveSchemeGuid, typeof(Guid));
+ return activeSchemeGuid;
+ }
+
+ public static int GetCPUBoost()
+ {
+ IntPtr AcValueIndex;
+ Guid activeSchemeGuid = GetActiveScheme();
+
+ UInt32 value = PowerReadACValueIndex(IntPtr.Zero,
+ activeSchemeGuid,
+ GUID_CPU,
+ GUID_BOOST, out AcValueIndex);
+
+ return AcValueIndex.ToInt32();
+
+ }
+
+ public static void SetCPUBoost(int boost = 0)
+ {
+ Guid activeSchemeGuid = GetActiveScheme();
+
+ var hrAC = PowerWriteACValueIndex(
+ IntPtr.Zero,
+ activeSchemeGuid,
+ GUID_CPU,
+ GUID_BOOST,
+ boost);
+
+ PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
+
+ var hrDC = PowerWriteDCValueIndex(
+ IntPtr.Zero,
+ activeSchemeGuid,
+ GUID_CPU,
+ GUID_BOOST,
+ boost);
+
+ PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
+
+
+ }
+}
diff --git a/Program.cs b/Program.cs
index 8df180ee..76f7b9be 100644
--- a/Program.cs
+++ b/Program.cs
@@ -1,57 +1,8 @@
-using HidLibrary;
using LibreHardwareMonitor.Hardware;
-using Microsoft.Win32.TaskScheduler;
using System.Diagnostics;
using System.Management;
-using System.Runtime.InteropServices;
-using System.Security.Principal;
using System.Text.Json;
-public class Startup
-{
-
- static string taskName = "GHelper";
-
- public Startup()
- {
-
- }
-
- public bool IsScheduled()
- {
- TaskService taskService = new TaskService();
- return (taskService.RootFolder.AllTasks.Any(t => t.Name == taskName));
- }
-
- public void Schedule()
- {
- TaskService taskService = new TaskService();
-
- string strExeFilePath = Application.ExecutablePath;
-
- if (strExeFilePath is null) return;
-
- var userId = WindowsIdentity.GetCurrent().Name;
-
- Debug.WriteLine(strExeFilePath);
- TaskDefinition td = TaskService.Instance.NewTask();
- td.RegistrationInfo.Description = "GHelper Auto Start";
- td.Triggers.Add(new LogonTrigger { UserId = userId, });
- td.Actions.Add(strExeFilePath);
-
- td.Settings.StopIfGoingOnBatteries = false;
- td.Settings.DisallowStartIfOnBatteries = false;
-
- TaskService.Instance.RootFolder.RegisterTaskDefinition(taskName, td);
- }
-
- public void UnSchedule()
- {
- TaskService taskService = new TaskService();
- taskService.RootFolder.DeleteTask(taskName);
- }
-}
-
public class AppConfig
{
@@ -104,310 +55,28 @@ public class AppConfig
else return -1;
}
+ public string getConfigString(string name)
+ {
+ if (config.ContainsKey(name))
+ return config[name].ToString();
+ else return null;
+ }
+
public void setConfig(string name, int value)
{
config[name] = value;
- string jsonString = JsonSerializer.Serialize(config);
+ string jsonString = JsonSerializer.Serialize(config, new JsonSerializerOptions { WriteIndented = true });
+ File.WriteAllText(configFile, jsonString);
+ }
+
+ public void setConfig(string name, string value)
+ {
+ config[name] = value;
+ string jsonString = JsonSerializer.Serialize(config, new JsonSerializerOptions { WriteIndented = true });
File.WriteAllText(configFile, jsonString);
}
-
-}
-
-
-public class NativeMethods
-{
-
- [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
- static extern UInt32 PowerWriteDCValueIndex(IntPtr RootPowerKey,
- [MarshalAs(UnmanagedType.LPStruct)] Guid SchemeGuid,
- [MarshalAs(UnmanagedType.LPStruct)] Guid SubGroupOfPowerSettingsGuid,
- [MarshalAs(UnmanagedType.LPStruct)] Guid PowerSettingGuid,
- int AcValueIndex);
-
- [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
- static extern UInt32 PowerWriteACValueIndex(IntPtr RootPowerKey,
- [MarshalAs(UnmanagedType.LPStruct)] Guid SchemeGuid,
- [MarshalAs(UnmanagedType.LPStruct)] Guid SubGroupOfPowerSettingsGuid,
- [MarshalAs(UnmanagedType.LPStruct)] Guid PowerSettingGuid,
- int AcValueIndex);
-
- [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
- static extern UInt32 PowerReadACValueIndex(IntPtr RootPowerKey,
- [MarshalAs(UnmanagedType.LPStruct)] Guid SchemeGuid,
- [MarshalAs(UnmanagedType.LPStruct)] Guid SubGroupOfPowerSettingsGuid,
- [MarshalAs(UnmanagedType.LPStruct)] Guid PowerSettingGuid,
- out IntPtr AcValueIndex
- );
-
- [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
- static extern UInt32 PowerReadDCValueIndex(IntPtr RootPowerKey,
- [MarshalAs(UnmanagedType.LPStruct)] Guid SchemeGuid,
- [MarshalAs(UnmanagedType.LPStruct)] Guid SubGroupOfPowerSettingsGuid,
- [MarshalAs(UnmanagedType.LPStruct)] Guid PowerSettingGuid,
- out IntPtr AcValueIndex
- );
-
-
-
- [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
- static extern UInt32 PowerSetActiveScheme(IntPtr RootPowerKey,
- [MarshalAs(UnmanagedType.LPStruct)] Guid SchemeGuid);
-
- [DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
- static extern UInt32 PowerGetActiveScheme(IntPtr UserPowerKey, out IntPtr ActivePolicyGuid);
-
- static readonly Guid GUID_CPU = new Guid("54533251-82be-4824-96c1-47b60b740d00");
- static readonly Guid GUID_BOOST = new Guid("be337238-0d82-4146-a960-4f3749d470c7");
-
- [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
- public struct DEVMODE
- {
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
- public string dmDeviceName;
-
- public short dmSpecVersion;
- public short dmDriverVersion;
- public short dmSize;
- public short dmDriverExtra;
- public int dmFields;
- public int dmPositionX;
- public int dmPositionY;
- public int dmDisplayOrientation;
- public int dmDisplayFixedOutput;
- public short dmColor;
- public short dmDuplex;
- public short dmYResolution;
- public short dmTTOption;
- public short dmCollate;
-
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
- public string dmFormName;
-
- public short dmLogPixels;
- public short dmBitsPerPel;
- public int dmPelsWidth;
- public int dmPelsHeight;
- public int dmDisplayFlags;
- public int dmDisplayFrequency;
- public int dmICMMethod;
- public int dmICMIntent;
- public int dmMediaType;
- public int dmDitherType;
- public int dmReserved1;
- public int dmReserved2;
- public int dmPanningWidth;
- public int dmPanningHeight;
- };
-
- [Flags()]
- public enum DisplaySettingsFlags : int
- {
- CDS_UPDATEREGISTRY = 1,
- CDS_TEST = 2,
- CDS_FULLSCREEN = 4,
- CDS_GLOBAL = 8,
- CDS_SET_PRIMARY = 0x10,
- CDS_RESET = 0x40000000,
- CDS_NORESET = 0x10000000
- }
-
- // PInvoke declaration for EnumDisplaySettings Win32 API
- [DllImport("user32.dll")]
- public static extern int EnumDisplaySettingsEx(
- string lpszDeviceName,
- int iModeNum,
- ref DEVMODE lpDevMode);
-
- // PInvoke declaration for ChangeDisplaySettings Win32 API
- [DllImport("user32.dll")]
- public static extern int ChangeDisplaySettingsEx(
- string lpszDeviceName, ref DEVMODE lpDevMode, IntPtr hwnd,
- DisplaySettingsFlags dwflags, IntPtr lParam);
-
-
- public const int ENUM_CURRENT_SETTINGS = -1;
-
- public const string laptopScreenName = "\\\\.\\DISPLAY1";
-
- public static DEVMODE CreateDevmode()
- {
- DEVMODE dm = new DEVMODE();
- dm.dmDeviceName = new String(new char[32]);
- dm.dmFormName = new String(new char[32]);
- dm.dmSize = (short)Marshal.SizeOf(dm);
- return dm;
- }
-
- public static Screen FindLaptopScreen()
- {
- var screens = Screen.AllScreens;
- Screen laptopScreen = null;
-
- foreach (var screen in screens)
- {
- if (screen.DeviceName == laptopScreenName)
- {
- laptopScreen = screen;
- }
- }
-
- if (laptopScreen is null) return null;
- else return laptopScreen;
- }
-
- public static int GetRefreshRate()
- {
- DEVMODE dm = CreateDevmode();
-
- Screen laptopScreen = FindLaptopScreen();
- int frequency = -1;
-
- if (laptopScreen is null)
- return -1;
-
- if (0 != NativeMethods.EnumDisplaySettingsEx(laptopScreen.DeviceName, NativeMethods.ENUM_CURRENT_SETTINGS, ref dm))
- {
- frequency = dm.dmDisplayFrequency;
- }
-
- return frequency;
- }
-
- public static int SetRefreshRate(int frequency = 120)
- {
- DEVMODE dm = CreateDevmode();
- Screen laptopScreen = FindLaptopScreen();
-
- if (laptopScreen is null)
- return -1;
-
- if (0 != NativeMethods.EnumDisplaySettingsEx(laptopScreen.DeviceName, NativeMethods.ENUM_CURRENT_SETTINGS, ref dm))
- {
- dm.dmDisplayFrequency = frequency;
- int iRet = NativeMethods.ChangeDisplaySettingsEx(laptopScreen.DeviceName, ref dm, IntPtr.Zero, DisplaySettingsFlags.CDS_UPDATEREGISTRY, IntPtr.Zero);
- return iRet;
- }
-
- return 0;
-
- }
-
- static Guid GetActiveScheme()
- {
- IntPtr pActiveSchemeGuid;
- var hr = PowerGetActiveScheme(IntPtr.Zero, out pActiveSchemeGuid);
- Guid activeSchemeGuid = (Guid)Marshal.PtrToStructure(pActiveSchemeGuid, typeof(Guid));
- return activeSchemeGuid;
- }
-
- public static int GetCPUBoost()
- {
- IntPtr AcValueIndex;
- Guid activeSchemeGuid = GetActiveScheme();
-
- UInt32 value = PowerReadACValueIndex(IntPtr.Zero,
- activeSchemeGuid,
- GUID_CPU,
- GUID_BOOST, out AcValueIndex);
-
- return AcValueIndex.ToInt32();
-
- }
-
- public static void SetCPUBoost(int boost = 0)
- {
- Guid activeSchemeGuid = GetActiveScheme();
-
- var hrAC = PowerWriteACValueIndex(
- IntPtr.Zero,
- activeSchemeGuid,
- GUID_CPU,
- GUID_BOOST,
- boost);
-
- PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
-
- var hrDC = PowerWriteDCValueIndex(
- IntPtr.Zero,
- activeSchemeGuid,
- GUID_CPU,
- GUID_BOOST,
- boost);
-
- PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
-
-
- }
-}
-
-
-public class Aura
-{
-
- static byte[] MESSAGE_SET = { 0x5d, 0xb5 };
- static byte[] MESSAGE_APPLY = { 0x5d, 0xb4 };
-
- public const int Static = 0;
- public const int Breathe = 1;
- public const int Strobe = 2;
- public const int Rainbow = 3;
- public const int Dingding = 10;
-
- public const int SpeedSlow = 0;
- public const int SpeedMedium = 1;
- public const int SpeedHigh = 2;
-
- public static int Mode = Static;
- public static Color Color1 = Color.White;
- public static Color Color2 = Color.Black;
- public static int Speed = SpeedSlow;
-
- public static byte[] AuraMessage(int mode, Color color, Color color2, int speed)
- {
- byte[] msg = new byte[17];
- msg[0] = 0x5d;
- msg[1] = 0xb3;
- msg[2] = 0x00; // Zone
- msg[3] = (byte)mode; // Aura Mode
- msg[4] = (byte)(color.R); // R
- msg[5] = (byte)(color.G); // G
- msg[6] = (byte)(color.B); // B
- msg[7] = (byte)speed; // aura.speed as u8;
- msg[8] = 0; // aura.direction as u8;
- msg[10] = (byte)(color2.R); // R
- msg[11] = (byte)(color2.G); // G
- msg[12] = (byte)(color2.B); // B
- return msg;
- }
-
- public static void ApplyAura()
- {
-
- HidDevice[] HidDeviceList;
- int[] deviceIds = { 0x1854, 0x1869, 0x1866, 0x19b6 };
-
- HidDeviceList = HidDevices.Enumerate(0x0b05, deviceIds).ToArray();
-
- foreach (HidDevice device in HidDeviceList)
- {
- if (device.IsConnected)
- {
- if (device.Description.IndexOf("HID") >= 0)
- {
- device.OpenDevice();
- byte[] msg = AuraMessage(Mode, Color1, Color2, Speed);
- device.Write(msg);
- device.Write(MESSAGE_SET);
- device.Write(MESSAGE_APPLY);
- device.CloseDevice();
- }
-
- }
- }
-
- }
}
@@ -515,37 +184,27 @@ namespace GHelper
{
static class Program
{
- public static NotifyIcon trayIcon;
+ public static NotifyIcon trayIcon = new NotifyIcon
+ {
+ Text = "G-Helper",
+ Icon = Properties.Resources.standard,
+ Visible = true
+ };
- public static ASUSWmi wmi;
- public static AppConfig config;
+ public static ASUSWmi wmi = new ASUSWmi();
+ public static AppConfig config = new AppConfig();
- public static SettingsForm settingsForm;
-
- public static Startup scheduler;
- public static HardwareMonitor hwmonitor;
+ public static SettingsForm settingsForm = new SettingsForm();
+ public static HardwareMonitor hwmonitor = new HardwareMonitor();
// The main entry point for the application
public static void Main()
{
- trayIcon = new NotifyIcon
- {
- Text = "G-Helper",
- Icon = GHelper.Properties.Resources.standard,
- Visible = true
- };
trayIcon.MouseClick += TrayIcon_MouseClick; ;
- config = new AppConfig();
-
- wmi = new ASUSWmi();
wmi.SubscribeToEvents(WatcherEventArrived);
- scheduler = new Startup();
-
- settingsForm = new SettingsForm();
-
settingsForm.InitGPUMode();
settingsForm.InitBoost();
settingsForm.InitAura();
@@ -556,13 +215,13 @@ namespace GHelper
settingsForm.VisualiseGPUAuto(config.getConfig("gpu_auto"));
settingsForm.VisualiseScreenAuto(config.getConfig("screen_auto"));
- settingsForm.SetStartupCheck(scheduler.IsScheduled());
+ settingsForm.SetStartupCheck(Startup.IsScheduled());
bool isPlugged = (System.Windows.Forms.SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online);
settingsForm.AutoGPUMode(isPlugged ? 1 : 0);
settingsForm.AutoScreen(isPlugged ? 1 : 0);
- hwmonitor = new HardwareMonitor();
+
IntPtr dummy = settingsForm.Handle;
Application.Run();
diff --git a/Settings.Designer.cs b/Settings.Designer.cs
index dd5332fb..65bb0f59 100644
--- a/Settings.Designer.cs
+++ b/Settings.Designer.cs
@@ -29,546 +29,539 @@
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsForm));
- this.checkStartup = new System.Windows.Forms.CheckBox();
- this.trackBattery = new System.Windows.Forms.TrackBar();
- this.labelBatteryTitle = new System.Windows.Forms.Label();
- this.pictureBattery = new System.Windows.Forms.PictureBox();
- this.labelGPUFan = new System.Windows.Forms.Label();
- this.tableGPU = new System.Windows.Forms.TableLayoutPanel();
- this.buttonUltimate = new System.Windows.Forms.Button();
- this.buttonStandard = new System.Windows.Forms.Button();
- this.buttonEco = new System.Windows.Forms.Button();
- this.labelGPU = new System.Windows.Forms.Label();
- this.pictureGPU = new System.Windows.Forms.PictureBox();
- this.labelCPUFan = new System.Windows.Forms.Label();
- this.tablePerf = new System.Windows.Forms.TableLayoutPanel();
- this.buttonTurbo = new System.Windows.Forms.Button();
- this.buttonBalanced = new System.Windows.Forms.Button();
- this.buttonSilent = new System.Windows.Forms.Button();
- this.picturePerf = new System.Windows.Forms.PictureBox();
- this.labelPerf = new System.Windows.Forms.Label();
- this.checkGPU = new System.Windows.Forms.CheckBox();
- this.buttonQuit = new System.Windows.Forms.Button();
- this.pictureScreen = new System.Windows.Forms.PictureBox();
- this.labelSreen = new System.Windows.Forms.Label();
- this.tableScreen = new System.Windows.Forms.TableLayoutPanel();
- this.button120Hz = new System.Windows.Forms.Button();
- this.button60Hz = new System.Windows.Forms.Button();
- this.checkScreen = new System.Windows.Forms.CheckBox();
- this.checkBoost = new System.Windows.Forms.CheckBox();
- this.pictureBox1 = new System.Windows.Forms.PictureBox();
- this.label1 = new System.Windows.Forms.Label();
- this.comboKeyboard = new System.Windows.Forms.ComboBox();
- this.buttonKeyboardColor = new System.Windows.Forms.Button();
- this.pictureBox2 = new System.Windows.Forms.PictureBox();
- this.labelBattery = new System.Windows.Forms.Label();
- ((System.ComponentModel.ISupportInitialize)(this.trackBattery)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBattery)).BeginInit();
- this.tableGPU.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureGPU)).BeginInit();
- this.tablePerf.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.picturePerf)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureScreen)).BeginInit();
- this.tableScreen.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
- this.SuspendLayout();
+ checkStartup = new CheckBox();
+ trackBattery = new TrackBar();
+ labelBatteryTitle = new Label();
+ pictureBattery = new PictureBox();
+ labelGPUFan = new Label();
+ tableGPU = new TableLayoutPanel();
+ buttonUltimate = new Button();
+ buttonStandard = new Button();
+ buttonEco = new Button();
+ labelGPU = new Label();
+ pictureGPU = new PictureBox();
+ labelCPUFan = new Label();
+ tablePerf = new TableLayoutPanel();
+ buttonTurbo = new Button();
+ buttonBalanced = new Button();
+ buttonSilent = new Button();
+ picturePerf = new PictureBox();
+ labelPerf = new Label();
+ checkGPU = new CheckBox();
+ buttonQuit = new Button();
+ pictureScreen = new PictureBox();
+ labelSreen = new Label();
+ tableScreen = new TableLayoutPanel();
+ button120Hz = new Button();
+ button60Hz = new Button();
+ checkScreen = new CheckBox();
+ checkBoost = new CheckBox();
+ pictureBox1 = new PictureBox();
+ label1 = new Label();
+ comboKeyboard = new ComboBox();
+ buttonKeyboardColor = new Button();
+ labelBattery = new Label();
+ buttonFans = new Button();
+ ((System.ComponentModel.ISupportInitialize)trackBattery).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)pictureBattery).BeginInit();
+ tableGPU.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit();
+ tablePerf.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)picturePerf).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)pictureScreen).BeginInit();
+ tableScreen.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
+ SuspendLayout();
//
// checkStartup
//
- this.checkStartup.AutoSize = true;
- this.checkStartup.Location = new System.Drawing.Point(40, 1007);
- this.checkStartup.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.checkStartup.Name = "checkStartup";
- this.checkStartup.Size = new System.Drawing.Size(206, 36);
- this.checkStartup.TabIndex = 2;
- this.checkStartup.Text = "Run on Startup";
- this.checkStartup.UseVisualStyleBackColor = true;
- this.checkStartup.CheckedChanged += new System.EventHandler(this.checkStartup_CheckedChanged);
+ checkStartup.AutoSize = true;
+ checkStartup.Location = new Point(41, 1007);
+ checkStartup.Margin = new Padding(4, 2, 4, 2);
+ checkStartup.Name = "checkStartup";
+ checkStartup.Size = new Size(206, 36);
+ checkStartup.TabIndex = 2;
+ checkStartup.Text = "Run on Startup";
+ checkStartup.UseVisualStyleBackColor = true;
+ checkStartup.CheckedChanged += checkStartup_CheckedChanged;
//
// trackBattery
//
- this.trackBattery.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.trackBattery.LargeChange = 20;
- this.trackBattery.Location = new System.Drawing.Point(20, 908);
- this.trackBattery.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.trackBattery.Maximum = 100;
- this.trackBattery.Minimum = 50;
- this.trackBattery.Name = "trackBattery";
- this.trackBattery.Size = new System.Drawing.Size(690, 90);
- this.trackBattery.SmallChange = 10;
- this.trackBattery.TabIndex = 3;
- this.trackBattery.TickFrequency = 10;
- this.trackBattery.TickStyle = System.Windows.Forms.TickStyle.TopLeft;
- this.trackBattery.Value = 100;
+ trackBattery.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
+ trackBattery.LargeChange = 20;
+ trackBattery.Location = new Point(20, 909);
+ trackBattery.Margin = new Padding(4, 2, 4, 2);
+ trackBattery.Maximum = 100;
+ trackBattery.Minimum = 50;
+ trackBattery.Name = "trackBattery";
+ trackBattery.Size = new Size(674, 90);
+ trackBattery.SmallChange = 10;
+ trackBattery.TabIndex = 3;
+ trackBattery.TickFrequency = 10;
+ trackBattery.TickStyle = TickStyle.TopLeft;
+ trackBattery.Value = 100;
//
// labelBatteryTitle
//
- this.labelBatteryTitle.AutoSize = true;
- this.labelBatteryTitle.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
- this.labelBatteryTitle.Location = new System.Drawing.Point(77, 871);
- this.labelBatteryTitle.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
- this.labelBatteryTitle.Name = "labelBatteryTitle";
- this.labelBatteryTitle.Size = new System.Drawing.Size(248, 32);
- this.labelBatteryTitle.TabIndex = 4;
- this.labelBatteryTitle.Text = "Battery Charge Limit";
+ labelBatteryTitle.AutoSize = true;
+ labelBatteryTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
+ labelBatteryTitle.Location = new Point(76, 870);
+ labelBatteryTitle.Margin = new Padding(4, 0, 4, 0);
+ labelBatteryTitle.Name = "labelBatteryTitle";
+ labelBatteryTitle.Size = new Size(248, 32);
+ labelBatteryTitle.TabIndex = 4;
+ labelBatteryTitle.Text = "Battery Charge Limit";
//
// pictureBattery
//
- this.pictureBattery.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureBattery.BackgroundImage")));
- this.pictureBattery.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.pictureBattery.Location = new System.Drawing.Point(33, 868);
- this.pictureBattery.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.pictureBattery.Name = "pictureBattery";
- this.pictureBattery.Size = new System.Drawing.Size(38, 38);
- this.pictureBattery.TabIndex = 6;
- this.pictureBattery.TabStop = false;
+ pictureBattery.BackgroundImage = (Image)resources.GetObject("pictureBattery.BackgroundImage");
+ pictureBattery.BackgroundImageLayout = ImageLayout.Zoom;
+ pictureBattery.Location = new Point(33, 868);
+ pictureBattery.Margin = new Padding(4, 2, 4, 2);
+ pictureBattery.Name = "pictureBattery";
+ pictureBattery.Size = new Size(37, 38);
+ pictureBattery.TabIndex = 6;
+ pictureBattery.TabStop = false;
//
// labelGPUFan
//
- this.labelGPUFan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.labelGPUFan.Location = new System.Drawing.Point(425, 262);
- this.labelGPUFan.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
- this.labelGPUFan.Name = "labelGPUFan";
- this.labelGPUFan.Size = new System.Drawing.Size(277, 32);
- this.labelGPUFan.TabIndex = 8;
- this.labelGPUFan.Text = "GPU Fan : 0%";
- this.labelGPUFan.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ labelGPUFan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ labelGPUFan.Location = new Point(409, 262);
+ labelGPUFan.Margin = new Padding(4, 0, 4, 0);
+ labelGPUFan.Name = "labelGPUFan";
+ labelGPUFan.Size = new Size(277, 32);
+ labelGPUFan.TabIndex = 8;
+ labelGPUFan.Text = "GPU Fan : 0%";
+ labelGPUFan.TextAlign = ContentAlignment.TopRight;
//
// tableGPU
//
- this.tableGPU.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.tableGPU.ColumnCount = 3;
- this.tableGPU.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
- this.tableGPU.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
- this.tableGPU.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
- this.tableGPU.Controls.Add(this.buttonUltimate, 2, 0);
- this.tableGPU.Controls.Add(this.buttonStandard, 1, 0);
- this.tableGPU.Controls.Add(this.buttonEco, 0, 0);
- this.tableGPU.Location = new System.Drawing.Point(22, 303);
- this.tableGPU.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.tableGPU.Name = "tableGPU";
- this.tableGPU.RowCount = 1;
- this.tableGPU.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 107F));
- this.tableGPU.Size = new System.Drawing.Size(690, 107);
- this.tableGPU.TabIndex = 7;
+ tableGPU.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
+ tableGPU.ColumnCount = 3;
+ tableGPU.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.33333F));
+ tableGPU.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.33333F));
+ tableGPU.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.33333F));
+ tableGPU.Controls.Add(buttonUltimate, 2, 0);
+ tableGPU.Controls.Add(buttonStandard, 1, 0);
+ tableGPU.Controls.Add(buttonEco, 0, 0);
+ tableGPU.Location = new Point(22, 303);
+ tableGPU.Margin = new Padding(4, 2, 4, 2);
+ tableGPU.Name = "tableGPU";
+ tableGPU.RowCount = 1;
+ tableGPU.RowStyles.Add(new RowStyle(SizeType.Absolute, 107F));
+ tableGPU.Size = new Size(674, 107);
+ tableGPU.TabIndex = 7;
//
// buttonUltimate
//
- this.buttonUltimate.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.buttonUltimate.Dock = System.Windows.Forms.DockStyle.Fill;
- this.buttonUltimate.FlatAppearance.BorderSize = 0;
- this.buttonUltimate.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonUltimate.Location = new System.Drawing.Point(469, 11);
- this.buttonUltimate.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
- this.buttonUltimate.Name = "buttonUltimate";
- this.buttonUltimate.Size = new System.Drawing.Size(212, 85);
- this.buttonUltimate.TabIndex = 2;
- this.buttonUltimate.Text = "Ultimate";
- this.buttonUltimate.UseVisualStyleBackColor = false;
+ buttonUltimate.BackColor = SystemColors.ControlLightLight;
+ buttonUltimate.Dock = DockStyle.Fill;
+ buttonUltimate.FlatAppearance.BorderSize = 0;
+ buttonUltimate.FlatStyle = FlatStyle.Flat;
+ buttonUltimate.Location = new Point(457, 11);
+ buttonUltimate.Margin = new Padding(9, 11, 9, 11);
+ buttonUltimate.Name = "buttonUltimate";
+ buttonUltimate.Size = new Size(208, 85);
+ buttonUltimate.TabIndex = 2;
+ buttonUltimate.Text = "Ultimate";
+ buttonUltimate.UseVisualStyleBackColor = false;
//
// buttonStandard
//
- this.buttonStandard.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.buttonStandard.Dock = System.Windows.Forms.DockStyle.Fill;
- this.buttonStandard.FlatAppearance.BorderSize = 0;
- this.buttonStandard.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonStandard.Location = new System.Drawing.Point(239, 11);
- this.buttonStandard.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
- this.buttonStandard.Name = "buttonStandard";
- this.buttonStandard.Size = new System.Drawing.Size(212, 85);
- this.buttonStandard.TabIndex = 1;
- this.buttonStandard.Text = "Standard";
- this.buttonStandard.UseVisualStyleBackColor = false;
+ buttonStandard.BackColor = SystemColors.ControlLightLight;
+ buttonStandard.Dock = DockStyle.Fill;
+ buttonStandard.FlatAppearance.BorderSize = 0;
+ buttonStandard.FlatStyle = FlatStyle.Flat;
+ buttonStandard.Location = new Point(233, 11);
+ buttonStandard.Margin = new Padding(9, 11, 9, 11);
+ buttonStandard.Name = "buttonStandard";
+ buttonStandard.Size = new Size(206, 85);
+ buttonStandard.TabIndex = 1;
+ buttonStandard.Text = "Standard";
+ buttonStandard.UseVisualStyleBackColor = false;
//
// buttonEco
//
- this.buttonEco.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.buttonEco.CausesValidation = false;
- this.buttonEco.Dock = System.Windows.Forms.DockStyle.Fill;
- this.buttonEco.FlatAppearance.BorderSize = 0;
- this.buttonEco.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonEco.Location = new System.Drawing.Point(9, 11);
- this.buttonEco.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
- this.buttonEco.Name = "buttonEco";
- this.buttonEco.Size = new System.Drawing.Size(212, 85);
- this.buttonEco.TabIndex = 0;
- this.buttonEco.Text = "Eco";
- this.buttonEco.UseVisualStyleBackColor = false;
+ buttonEco.BackColor = SystemColors.ControlLightLight;
+ buttonEco.CausesValidation = false;
+ buttonEco.Dock = DockStyle.Fill;
+ buttonEco.FlatAppearance.BorderSize = 0;
+ buttonEco.FlatStyle = FlatStyle.Flat;
+ buttonEco.Location = new Point(9, 11);
+ buttonEco.Margin = new Padding(9, 11, 9, 11);
+ buttonEco.Name = "buttonEco";
+ buttonEco.Size = new Size(206, 85);
+ buttonEco.TabIndex = 0;
+ buttonEco.Text = "Eco";
+ buttonEco.UseVisualStyleBackColor = false;
//
// labelGPU
//
- this.labelGPU.AutoSize = true;
- this.labelGPU.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
- this.labelGPU.Location = new System.Drawing.Point(77, 265);
- this.labelGPU.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
- this.labelGPU.Name = "labelGPU";
- this.labelGPU.Size = new System.Drawing.Size(136, 32);
- this.labelGPU.TabIndex = 9;
- this.labelGPU.Text = "GPU Mode";
+ labelGPU.AutoSize = true;
+ labelGPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
+ labelGPU.Location = new Point(76, 265);
+ labelGPU.Margin = new Padding(4, 0, 4, 0);
+ labelGPU.Name = "labelGPU";
+ labelGPU.Size = new Size(136, 32);
+ labelGPU.TabIndex = 9;
+ labelGPU.Text = "GPU Mode";
//
// pictureGPU
//
- this.pictureGPU.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureGPU.BackgroundImage")));
- this.pictureGPU.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.pictureGPU.Location = new System.Drawing.Point(33, 263);
- this.pictureGPU.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.pictureGPU.Name = "pictureGPU";
- this.pictureGPU.Size = new System.Drawing.Size(38, 38);
- this.pictureGPU.TabIndex = 10;
- this.pictureGPU.TabStop = false;
+ pictureGPU.BackgroundImage = (Image)resources.GetObject("pictureGPU.BackgroundImage");
+ pictureGPU.BackgroundImageLayout = ImageLayout.Zoom;
+ pictureGPU.Location = new Point(33, 262);
+ pictureGPU.Margin = new Padding(4, 2, 4, 2);
+ pictureGPU.Name = "pictureGPU";
+ pictureGPU.Size = new Size(37, 38);
+ pictureGPU.TabIndex = 10;
+ pictureGPU.TabStop = false;
//
// labelCPUFan
//
- this.labelCPUFan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.labelCPUFan.Location = new System.Drawing.Point(425, 38);
- this.labelCPUFan.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
- this.labelCPUFan.Name = "labelCPUFan";
- this.labelCPUFan.Size = new System.Drawing.Size(277, 32);
- this.labelCPUFan.TabIndex = 12;
- this.labelCPUFan.Text = "CPU Fan : 0%";
- this.labelCPUFan.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ labelCPUFan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ labelCPUFan.Location = new Point(409, 38);
+ labelCPUFan.Margin = new Padding(4, 0, 4, 0);
+ labelCPUFan.Name = "labelCPUFan";
+ labelCPUFan.Size = new Size(277, 32);
+ labelCPUFan.TabIndex = 12;
+ labelCPUFan.Text = "CPU Fan : 0%";
+ labelCPUFan.TextAlign = ContentAlignment.TopRight;
//
// tablePerf
//
- this.tablePerf.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.tablePerf.ColumnCount = 3;
- this.tablePerf.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
- this.tablePerf.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
- this.tablePerf.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
- this.tablePerf.Controls.Add(this.buttonTurbo, 2, 0);
- this.tablePerf.Controls.Add(this.buttonBalanced, 1, 0);
- this.tablePerf.Controls.Add(this.buttonSilent, 0, 0);
- this.tablePerf.Location = new System.Drawing.Point(22, 76);
- this.tablePerf.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.tablePerf.Name = "tablePerf";
- this.tablePerf.RowCount = 1;
- this.tablePerf.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 107F));
- this.tablePerf.Size = new System.Drawing.Size(690, 107);
- this.tablePerf.TabIndex = 11;
+ tablePerf.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
+ tablePerf.ColumnCount = 3;
+ tablePerf.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.33333F));
+ tablePerf.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.33333F));
+ tablePerf.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.33333F));
+ tablePerf.Controls.Add(buttonTurbo, 2, 0);
+ tablePerf.Controls.Add(buttonBalanced, 1, 0);
+ tablePerf.Controls.Add(buttonSilent, 0, 0);
+ tablePerf.Location = new Point(22, 77);
+ tablePerf.Margin = new Padding(4, 2, 4, 2);
+ tablePerf.Name = "tablePerf";
+ tablePerf.RowCount = 1;
+ tablePerf.RowStyles.Add(new RowStyle(SizeType.Absolute, 107F));
+ tablePerf.Size = new Size(674, 107);
+ tablePerf.TabIndex = 11;
//
// buttonTurbo
//
- this.buttonTurbo.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.buttonTurbo.Dock = System.Windows.Forms.DockStyle.Fill;
- this.buttonTurbo.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.buttonTurbo.FlatAppearance.BorderSize = 0;
- this.buttonTurbo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonTurbo.Location = new System.Drawing.Point(469, 11);
- this.buttonTurbo.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
- this.buttonTurbo.Name = "buttonTurbo";
- this.buttonTurbo.Size = new System.Drawing.Size(212, 85);
- this.buttonTurbo.TabIndex = 2;
- this.buttonTurbo.Text = "Turbo";
- this.buttonTurbo.UseVisualStyleBackColor = false;
+ buttonTurbo.BackColor = SystemColors.ControlLightLight;
+ buttonTurbo.Dock = DockStyle.Fill;
+ buttonTurbo.FlatAppearance.BorderColor = Color.FromArgb(192, 0, 0);
+ buttonTurbo.FlatAppearance.BorderSize = 0;
+ buttonTurbo.FlatStyle = FlatStyle.Flat;
+ buttonTurbo.Location = new Point(457, 11);
+ buttonTurbo.Margin = new Padding(9, 11, 9, 11);
+ buttonTurbo.Name = "buttonTurbo";
+ buttonTurbo.Size = new Size(208, 85);
+ buttonTurbo.TabIndex = 2;
+ buttonTurbo.Text = "Turbo";
+ buttonTurbo.UseVisualStyleBackColor = false;
//
// buttonBalanced
//
- this.buttonBalanced.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.buttonBalanced.Dock = System.Windows.Forms.DockStyle.Fill;
- this.buttonBalanced.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.buttonBalanced.FlatAppearance.BorderSize = 0;
- this.buttonBalanced.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonBalanced.Location = new System.Drawing.Point(239, 11);
- this.buttonBalanced.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
- this.buttonBalanced.Name = "buttonBalanced";
- this.buttonBalanced.Size = new System.Drawing.Size(212, 85);
- this.buttonBalanced.TabIndex = 1;
- this.buttonBalanced.Text = "Balanced";
- this.buttonBalanced.UseVisualStyleBackColor = false;
+ buttonBalanced.BackColor = SystemColors.ControlLightLight;
+ buttonBalanced.Dock = DockStyle.Fill;
+ buttonBalanced.FlatAppearance.BorderColor = Color.FromArgb(0, 0, 192);
+ buttonBalanced.FlatAppearance.BorderSize = 0;
+ buttonBalanced.FlatStyle = FlatStyle.Flat;
+ buttonBalanced.Location = new Point(233, 11);
+ buttonBalanced.Margin = new Padding(9, 11, 9, 11);
+ buttonBalanced.Name = "buttonBalanced";
+ buttonBalanced.Size = new Size(206, 85);
+ buttonBalanced.TabIndex = 1;
+ buttonBalanced.Text = "Balanced";
+ buttonBalanced.UseVisualStyleBackColor = false;
//
// buttonSilent
//
- this.buttonSilent.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.buttonSilent.CausesValidation = false;
- this.buttonSilent.Dock = System.Windows.Forms.DockStyle.Fill;
- this.buttonSilent.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
- this.buttonSilent.FlatAppearance.BorderSize = 0;
- this.buttonSilent.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonSilent.Location = new System.Drawing.Point(9, 11);
- this.buttonSilent.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
- this.buttonSilent.Name = "buttonSilent";
- this.buttonSilent.Size = new System.Drawing.Size(212, 85);
- this.buttonSilent.TabIndex = 0;
- this.buttonSilent.Text = "Silent";
- this.buttonSilent.UseVisualStyleBackColor = false;
+ buttonSilent.BackColor = SystemColors.ControlLightLight;
+ buttonSilent.CausesValidation = false;
+ buttonSilent.Dock = DockStyle.Fill;
+ buttonSilent.FlatAppearance.BorderColor = Color.FromArgb(0, 192, 192);
+ buttonSilent.FlatAppearance.BorderSize = 0;
+ buttonSilent.FlatStyle = FlatStyle.Flat;
+ buttonSilent.Location = new Point(9, 11);
+ buttonSilent.Margin = new Padding(9, 11, 9, 11);
+ buttonSilent.Name = "buttonSilent";
+ buttonSilent.Size = new Size(206, 85);
+ buttonSilent.TabIndex = 0;
+ buttonSilent.Text = "Silent";
+ buttonSilent.UseVisualStyleBackColor = false;
//
// picturePerf
//
- this.picturePerf.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("picturePerf.BackgroundImage")));
- this.picturePerf.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.picturePerf.InitialImage = null;
- this.picturePerf.Location = new System.Drawing.Point(33, 36);
- this.picturePerf.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.picturePerf.Name = "picturePerf";
- this.picturePerf.Size = new System.Drawing.Size(38, 38);
- this.picturePerf.TabIndex = 14;
- this.picturePerf.TabStop = false;
+ picturePerf.BackgroundImage = (Image)resources.GetObject("picturePerf.BackgroundImage");
+ picturePerf.BackgroundImageLayout = ImageLayout.Zoom;
+ picturePerf.InitialImage = null;
+ picturePerf.Location = new Point(33, 36);
+ picturePerf.Margin = new Padding(4, 2, 4, 2);
+ picturePerf.Name = "picturePerf";
+ picturePerf.Size = new Size(37, 38);
+ picturePerf.TabIndex = 14;
+ picturePerf.TabStop = false;
//
// labelPerf
//
- this.labelPerf.AutoSize = true;
- this.labelPerf.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
- this.labelPerf.Location = new System.Drawing.Point(77, 38);
- this.labelPerf.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
- this.labelPerf.Name = "labelPerf";
- this.labelPerf.Size = new System.Drawing.Size(234, 32);
- this.labelPerf.TabIndex = 13;
- this.labelPerf.Text = "Performance Mode";
+ labelPerf.AutoSize = true;
+ labelPerf.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
+ labelPerf.Location = new Point(76, 38);
+ labelPerf.Margin = new Padding(4, 0, 4, 0);
+ labelPerf.Name = "labelPerf";
+ labelPerf.Size = new Size(234, 32);
+ labelPerf.TabIndex = 13;
+ labelPerf.Text = "Performance Mode";
//
// checkGPU
//
- this.checkGPU.AutoSize = true;
- this.checkGPU.ForeColor = System.Drawing.SystemColors.GrayText;
- this.checkGPU.Location = new System.Drawing.Point(33, 411);
- this.checkGPU.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.checkGPU.Name = "checkGPU";
- this.checkGPU.Size = new System.Drawing.Size(550, 36);
- this.checkGPU.TabIndex = 15;
- this.checkGPU.Text = "Set Eco on battery and Standard when plugged";
- this.checkGPU.UseVisualStyleBackColor = true;
- this.checkGPU.CheckedChanged += new System.EventHandler(this.checkGPU_CheckedChanged);
+ checkGPU.AutoSize = true;
+ checkGPU.ForeColor = SystemColors.GrayText;
+ checkGPU.Location = new Point(33, 412);
+ checkGPU.Margin = new Padding(4, 2, 4, 2);
+ checkGPU.Name = "checkGPU";
+ checkGPU.Size = new Size(550, 36);
+ checkGPU.TabIndex = 15;
+ checkGPU.Text = "Set Eco on battery and Standard when plugged";
+ checkGPU.UseVisualStyleBackColor = true;
+ checkGPU.CheckedChanged += checkGPU_CheckedChanged;
//
// buttonQuit
//
- this.buttonQuit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.buttonQuit.BackColor = System.Drawing.SystemColors.ButtonFace;
- this.buttonQuit.Location = new System.Drawing.Point(591, 1011);
- this.buttonQuit.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.buttonQuit.Name = "buttonQuit";
- this.buttonQuit.Size = new System.Drawing.Size(121, 47);
- this.buttonQuit.TabIndex = 16;
- this.buttonQuit.Text = "Quit";
- this.buttonQuit.UseVisualStyleBackColor = false;
+ buttonQuit.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ buttonQuit.BackColor = SystemColors.ButtonFace;
+ buttonQuit.Location = new Point(574, 1011);
+ buttonQuit.Margin = new Padding(4, 2, 4, 2);
+ buttonQuit.Name = "buttonQuit";
+ buttonQuit.Size = new Size(121, 47);
+ buttonQuit.TabIndex = 16;
+ buttonQuit.Text = "Quit";
+ buttonQuit.UseVisualStyleBackColor = false;
//
// pictureScreen
//
- this.pictureScreen.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureScreen.BackgroundImage")));
- this.pictureScreen.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.pictureScreen.Location = new System.Drawing.Point(33, 496);
- this.pictureScreen.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.pictureScreen.Name = "pictureScreen";
- this.pictureScreen.Size = new System.Drawing.Size(38, 38);
- this.pictureScreen.TabIndex = 18;
- this.pictureScreen.TabStop = false;
+ pictureScreen.BackgroundImage = (Image)resources.GetObject("pictureScreen.BackgroundImage");
+ pictureScreen.BackgroundImageLayout = ImageLayout.Zoom;
+ pictureScreen.Location = new Point(33, 495);
+ pictureScreen.Margin = new Padding(4, 2, 4, 2);
+ pictureScreen.Name = "pictureScreen";
+ pictureScreen.Size = new Size(37, 38);
+ pictureScreen.TabIndex = 18;
+ pictureScreen.TabStop = false;
//
// labelSreen
//
- this.labelSreen.AutoSize = true;
- this.labelSreen.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
- this.labelSreen.Location = new System.Drawing.Point(77, 496);
- this.labelSreen.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
- this.labelSreen.Name = "labelSreen";
- this.labelSreen.Size = new System.Drawing.Size(176, 32);
- this.labelSreen.TabIndex = 17;
- this.labelSreen.Text = "Laptop Screen";
+ labelSreen.AutoSize = true;
+ labelSreen.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
+ labelSreen.Location = new Point(76, 495);
+ labelSreen.Margin = new Padding(4, 0, 4, 0);
+ labelSreen.Name = "labelSreen";
+ labelSreen.Size = new Size(176, 32);
+ labelSreen.TabIndex = 17;
+ labelSreen.Text = "Laptop Screen";
//
// tableScreen
//
- this.tableScreen.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.tableScreen.ColumnCount = 3;
- this.tableScreen.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
- this.tableScreen.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
- this.tableScreen.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
- this.tableScreen.Controls.Add(this.button120Hz, 1, 0);
- this.tableScreen.Controls.Add(this.button60Hz, 0, 0);
- this.tableScreen.Location = new System.Drawing.Point(22, 536);
- this.tableScreen.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.tableScreen.Name = "tableScreen";
- this.tableScreen.RowCount = 1;
- this.tableScreen.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 107F));
- this.tableScreen.Size = new System.Drawing.Size(690, 102);
- this.tableScreen.TabIndex = 19;
+ tableScreen.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
+ tableScreen.ColumnCount = 3;
+ tableScreen.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.33333F));
+ tableScreen.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.33333F));
+ tableScreen.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.33333F));
+ tableScreen.Controls.Add(button120Hz, 1, 0);
+ tableScreen.Controls.Add(button60Hz, 0, 0);
+ tableScreen.Location = new Point(22, 535);
+ tableScreen.Margin = new Padding(4, 2, 4, 2);
+ tableScreen.Name = "tableScreen";
+ tableScreen.RowCount = 1;
+ tableScreen.RowStyles.Add(new RowStyle(SizeType.Absolute, 107F));
+ tableScreen.Size = new Size(674, 107);
+ tableScreen.TabIndex = 19;
//
// button120Hz
//
- this.button120Hz.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.button120Hz.Dock = System.Windows.Forms.DockStyle.Fill;
- this.button120Hz.FlatAppearance.BorderColor = System.Drawing.SystemColors.ActiveBorder;
- this.button120Hz.FlatAppearance.BorderSize = 0;
- this.button120Hz.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.button120Hz.Location = new System.Drawing.Point(239, 11);
- this.button120Hz.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
- this.button120Hz.Name = "button120Hz";
- this.button120Hz.Size = new System.Drawing.Size(212, 85);
- this.button120Hz.TabIndex = 1;
- this.button120Hz.Text = "120Hz + OD";
- this.button120Hz.UseVisualStyleBackColor = false;
+ button120Hz.BackColor = SystemColors.ControlLightLight;
+ button120Hz.Dock = DockStyle.Fill;
+ button120Hz.FlatAppearance.BorderColor = SystemColors.ActiveBorder;
+ button120Hz.FlatAppearance.BorderSize = 0;
+ button120Hz.FlatStyle = FlatStyle.Flat;
+ button120Hz.Location = new Point(233, 11);
+ button120Hz.Margin = new Padding(9, 11, 9, 11);
+ button120Hz.Name = "button120Hz";
+ button120Hz.Size = new Size(206, 85);
+ button120Hz.TabIndex = 1;
+ button120Hz.Text = "120Hz + OD";
+ button120Hz.UseVisualStyleBackColor = false;
//
// button60Hz
//
- this.button60Hz.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.button60Hz.CausesValidation = false;
- this.button60Hz.Dock = System.Windows.Forms.DockStyle.Fill;
- this.button60Hz.FlatAppearance.BorderColor = System.Drawing.SystemColors.ActiveBorder;
- this.button60Hz.FlatAppearance.BorderSize = 0;
- this.button60Hz.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.button60Hz.ForeColor = System.Drawing.SystemColors.ControlText;
- this.button60Hz.Location = new System.Drawing.Point(9, 11);
- this.button60Hz.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
- this.button60Hz.Name = "button60Hz";
- this.button60Hz.Size = new System.Drawing.Size(212, 85);
- this.button60Hz.TabIndex = 0;
- this.button60Hz.Text = "60Hz";
- this.button60Hz.UseVisualStyleBackColor = false;
+ button60Hz.BackColor = SystemColors.ControlLightLight;
+ button60Hz.CausesValidation = false;
+ button60Hz.Dock = DockStyle.Fill;
+ button60Hz.FlatAppearance.BorderColor = SystemColors.ActiveBorder;
+ button60Hz.FlatAppearance.BorderSize = 0;
+ button60Hz.FlatStyle = FlatStyle.Flat;
+ button60Hz.ForeColor = SystemColors.ControlText;
+ button60Hz.Location = new Point(9, 11);
+ button60Hz.Margin = new Padding(9, 11, 9, 11);
+ button60Hz.Name = "button60Hz";
+ button60Hz.Size = new Size(206, 85);
+ button60Hz.TabIndex = 0;
+ button60Hz.Text = "60Hz";
+ button60Hz.UseVisualStyleBackColor = false;
//
// checkScreen
//
- this.checkScreen.AutoSize = true;
- this.checkScreen.ForeColor = System.Drawing.SystemColors.GrayText;
- this.checkScreen.Location = new System.Drawing.Point(33, 639);
- this.checkScreen.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.checkScreen.Name = "checkScreen";
- this.checkScreen.Size = new System.Drawing.Size(527, 36);
- this.checkScreen.TabIndex = 20;
- this.checkScreen.Text = "Set 60Hz on battery, and back when plugged";
- this.checkScreen.UseVisualStyleBackColor = true;
+ checkScreen.AutoSize = true;
+ checkScreen.ForeColor = SystemColors.GrayText;
+ checkScreen.Location = new Point(33, 644);
+ checkScreen.Margin = new Padding(4, 2, 4, 2);
+ checkScreen.Name = "checkScreen";
+ checkScreen.Size = new Size(527, 36);
+ checkScreen.TabIndex = 20;
+ checkScreen.Text = "Set 60Hz on battery, and back when plugged";
+ checkScreen.UseVisualStyleBackColor = true;
//
// checkBoost
//
- this.checkBoost.AutoSize = true;
- this.checkBoost.ForeColor = System.Drawing.SystemColors.GrayText;
- this.checkBoost.Location = new System.Drawing.Point(33, 184);
- this.checkBoost.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.checkBoost.Name = "checkBoost";
- this.checkBoost.Size = new System.Drawing.Size(250, 36);
- this.checkBoost.TabIndex = 21;
- this.checkBoost.Text = "CPU Boost enabled";
- this.checkBoost.UseVisualStyleBackColor = true;
+ checkBoost.AutoSize = true;
+ checkBoost.ForeColor = SystemColors.GrayText;
+ checkBoost.Location = new Point(33, 184);
+ checkBoost.Margin = new Padding(4, 2, 4, 2);
+ checkBoost.Name = "checkBoost";
+ checkBoost.Size = new Size(250, 36);
+ checkBoost.TabIndex = 21;
+ checkBoost.Text = "CPU Boost enabled";
+ checkBoost.UseVisualStyleBackColor = true;
//
// pictureBox1
//
- this.pictureBox1.BackgroundImage = global::GHelper.Properties.Resources.icons8_keyboard_48;
- this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.pictureBox1.Location = new System.Drawing.Point(33, 725);
- this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.pictureBox1.Name = "pictureBox1";
- this.pictureBox1.Size = new System.Drawing.Size(36, 36);
- this.pictureBox1.TabIndex = 23;
- this.pictureBox1.TabStop = false;
+ pictureBox1.BackgroundImage = Properties.Resources.icons8_keyboard_48;
+ pictureBox1.BackgroundImageLayout = ImageLayout.Zoom;
+ pictureBox1.Location = new Point(33, 725);
+ pictureBox1.Margin = new Padding(4, 2, 4, 2);
+ pictureBox1.Name = "pictureBox1";
+ pictureBox1.Size = new Size(35, 36);
+ pictureBox1.TabIndex = 23;
+ pictureBox1.TabStop = false;
//
// label1
//
- this.label1.AutoSize = true;
- this.label1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
- this.label1.Location = new System.Drawing.Point(77, 726);
- this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(210, 32);
- this.label1.TabIndex = 22;
- this.label1.Text = "Laptop Keyboard";
+ label1.AutoSize = true;
+ label1.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
+ label1.Location = new Point(76, 725);
+ label1.Margin = new Padding(4, 0, 4, 0);
+ label1.Name = "label1";
+ label1.Size = new Size(210, 32);
+ label1.TabIndex = 22;
+ label1.Text = "Laptop Keyboard";
//
// comboKeyboard
//
- this.comboKeyboard.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.comboKeyboard.FormattingEnabled = true;
- this.comboKeyboard.ItemHeight = 32;
- this.comboKeyboard.Items.AddRange(new object[] {
- "Static",
- "Breathe",
- "Strobe",
- "Rainbow"});
- this.comboKeyboard.Location = new System.Drawing.Point(38, 778);
- this.comboKeyboard.Margin = new System.Windows.Forms.Padding(0);
- this.comboKeyboard.Name = "comboKeyboard";
- this.comboKeyboard.Size = new System.Drawing.Size(200, 40);
- this.comboKeyboard.TabIndex = 24;
- this.comboKeyboard.TabStop = false;
+ comboKeyboard.FlatStyle = FlatStyle.Flat;
+ comboKeyboard.Font = new Font("Segoe UI", 10F, FontStyle.Regular, GraphicsUnit.Point);
+ comboKeyboard.FormattingEnabled = true;
+ comboKeyboard.ItemHeight = 37;
+ comboKeyboard.Items.AddRange(new object[] { "Static", "Breathe", "Strobe", "Rainbow" });
+ comboKeyboard.Location = new Point(37, 777);
+ comboKeyboard.Margin = new Padding(0);
+ comboKeyboard.Name = "comboKeyboard";
+ comboKeyboard.Size = new Size(201, 45);
+ comboKeyboard.TabIndex = 24;
+ comboKeyboard.TabStop = false;
//
// buttonKeyboardColor
//
- this.buttonKeyboardColor.BackColor = System.Drawing.SystemColors.ButtonHighlight;
- this.buttonKeyboardColor.FlatAppearance.BorderColor = System.Drawing.Color.Red;
- this.buttonKeyboardColor.FlatAppearance.BorderSize = 3;
- this.buttonKeyboardColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonKeyboardColor.ForeColor = System.Drawing.SystemColors.ControlText;
- this.buttonKeyboardColor.Location = new System.Drawing.Point(261, 773);
- this.buttonKeyboardColor.Margin = new System.Windows.Forms.Padding(0);
- this.buttonKeyboardColor.Name = "buttonKeyboardColor";
- this.buttonKeyboardColor.Size = new System.Drawing.Size(212, 50);
- this.buttonKeyboardColor.TabIndex = 25;
- this.buttonKeyboardColor.Text = "Color";
- this.buttonKeyboardColor.UseVisualStyleBackColor = false;
- //
- // pictureBox2
- //
- this.pictureBox2.BackColor = System.Drawing.SystemColors.ControlLightLight;
- this.pictureBox2.Location = new System.Drawing.Point(32, 773);
- this.pictureBox2.Name = "pictureBox2";
- this.pictureBox2.Size = new System.Drawing.Size(212, 50);
- this.pictureBox2.TabIndex = 26;
- this.pictureBox2.TabStop = false;
+ buttonKeyboardColor.AutoSize = true;
+ buttonKeyboardColor.BackColor = SystemColors.ButtonHighlight;
+ buttonKeyboardColor.FlatAppearance.BorderColor = Color.Red;
+ buttonKeyboardColor.FlatAppearance.BorderSize = 2;
+ buttonKeyboardColor.FlatStyle = FlatStyle.Flat;
+ buttonKeyboardColor.ForeColor = SystemColors.ControlText;
+ buttonKeyboardColor.Location = new Point(256, 775);
+ buttonKeyboardColor.Margin = new Padding(0);
+ buttonKeyboardColor.Name = "buttonKeyboardColor";
+ buttonKeyboardColor.Size = new Size(212, 50);
+ buttonKeyboardColor.TabIndex = 25;
+ buttonKeyboardColor.Text = "Color";
+ buttonKeyboardColor.UseVisualStyleBackColor = false;
//
// labelBattery
//
- this.labelBattery.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.labelBattery.Location = new System.Drawing.Point(425, 869);
- this.labelBattery.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
- this.labelBattery.Name = "labelBattery";
- this.labelBattery.Size = new System.Drawing.Size(277, 32);
- this.labelBattery.TabIndex = 27;
- this.labelBattery.Text = " ";
- this.labelBattery.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ labelBattery.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ labelBattery.Location = new Point(409, 868);
+ labelBattery.Margin = new Padding(4, 0, 4, 0);
+ labelBattery.Name = "labelBattery";
+ labelBattery.Size = new Size(277, 32);
+ labelBattery.TabIndex = 27;
+ labelBattery.Text = " ";
+ labelBattery.TextAlign = ContentAlignment.TopRight;
+ //
+ // buttonFans
+ //
+ buttonFans.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ buttonFans.BackColor = SystemColors.ButtonFace;
+ buttonFans.Location = new Point(525, 186);
+ buttonFans.Margin = new Padding(4, 2, 4, 2);
+ buttonFans.Name = "buttonFans";
+ buttonFans.Size = new Size(165, 47);
+ buttonFans.TabIndex = 28;
+ buttonFans.Text = "Fan Profile";
+ buttonFans.UseVisualStyleBackColor = false;
//
// SettingsForm
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(13F, 32F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(744, 1093);
- this.Controls.Add(this.labelBattery);
- this.Controls.Add(this.buttonKeyboardColor);
- this.Controls.Add(this.comboKeyboard);
- this.Controls.Add(this.pictureBox1);
- this.Controls.Add(this.label1);
- this.Controls.Add(this.checkBoost);
- this.Controls.Add(this.checkScreen);
- this.Controls.Add(this.tableScreen);
- this.Controls.Add(this.pictureScreen);
- this.Controls.Add(this.labelSreen);
- this.Controls.Add(this.buttonQuit);
- this.Controls.Add(this.checkGPU);
- this.Controls.Add(this.picturePerf);
- this.Controls.Add(this.labelPerf);
- this.Controls.Add(this.labelCPUFan);
- this.Controls.Add(this.tablePerf);
- this.Controls.Add(this.pictureGPU);
- this.Controls.Add(this.labelGPU);
- this.Controls.Add(this.labelGPUFan);
- this.Controls.Add(this.tableGPU);
- this.Controls.Add(this.pictureBattery);
- this.Controls.Add(this.labelBatteryTitle);
- this.Controls.Add(this.trackBattery);
- this.Controls.Add(this.checkStartup);
- this.Controls.Add(this.pictureBox2);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
- this.MaximizeBox = false;
- this.MdiChildrenMinimizedAnchorBottom = false;
- this.MinimizeBox = false;
- this.Name = "SettingsForm";
- this.Padding = new System.Windows.Forms.Padding(9, 11, 9, 11);
- this.ShowIcon = false;
- this.ShowInTaskbar = false;
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "G-Helper";
- this.Load += new System.EventHandler(this.Settings_Load);
- ((System.ComponentModel.ISupportInitialize)(this.trackBattery)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBattery)).EndInit();
- this.tableGPU.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.pictureGPU)).EndInit();
- this.tablePerf.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.picturePerf)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureScreen)).EndInit();
- this.tableScreen.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
+ AutoScaleDimensions = new SizeF(13F, 32F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(728, 1079);
+ Controls.Add(buttonFans);
+ Controls.Add(labelBattery);
+ Controls.Add(buttonKeyboardColor);
+ Controls.Add(comboKeyboard);
+ Controls.Add(pictureBox1);
+ Controls.Add(label1);
+ Controls.Add(checkBoost);
+ Controls.Add(checkScreen);
+ Controls.Add(tableScreen);
+ Controls.Add(pictureScreen);
+ Controls.Add(labelSreen);
+ Controls.Add(buttonQuit);
+ Controls.Add(checkGPU);
+ Controls.Add(picturePerf);
+ Controls.Add(labelPerf);
+ Controls.Add(labelCPUFan);
+ Controls.Add(tablePerf);
+ Controls.Add(pictureGPU);
+ Controls.Add(labelGPU);
+ Controls.Add(labelGPUFan);
+ Controls.Add(tableGPU);
+ Controls.Add(pictureBattery);
+ Controls.Add(labelBatteryTitle);
+ Controls.Add(trackBattery);
+ Controls.Add(checkStartup);
+ FormBorderStyle = FormBorderStyle.FixedSingle;
+ Margin = new Padding(4, 2, 4, 2);
+ MaximizeBox = false;
+ MdiChildrenMinimizedAnchorBottom = false;
+ MinimizeBox = false;
+ Name = "SettingsForm";
+ Padding = new Padding(9, 11, 9, 11);
+ ShowIcon = false;
+ StartPosition = FormStartPosition.CenterScreen;
+ Text = "G-Helper";
+ Load += Settings_Load;
+ ((System.ComponentModel.ISupportInitialize)trackBattery).EndInit();
+ ((System.ComponentModel.ISupportInitialize)pictureBattery).EndInit();
+ tableGPU.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)pictureGPU).EndInit();
+ tablePerf.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)picturePerf).EndInit();
+ ((System.ComponentModel.ISupportInitialize)pictureScreen).EndInit();
+ tableScreen.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
+ ResumeLayout(false);
+ PerformLayout();
}
#endregion
@@ -603,7 +596,7 @@
private Label label1;
private ComboBox comboKeyboard;
private Button buttonKeyboardColor;
- private PictureBox pictureBox2;
private Label labelBattery;
+ private Button buttonFans;
}
}
\ No newline at end of file
diff --git a/Settings.cs b/Settings.cs
index 89eddf31..1db7e3d1 100644
--- a/Settings.cs
+++ b/Settings.cs
@@ -17,6 +17,8 @@ namespace GHelper
static System.Timers.Timer aTimer = default!;
+ Fans fans;
+
public SettingsForm()
{
@@ -60,13 +62,33 @@ namespace GHelper
buttonKeyboardColor.Click += ButtonKeyboardColor_Click;
+ buttonFans.Click += ButtonFans_Click;
+
SetTimer();
+
+
+ }
+
+ private void ButtonFans_Click(object? sender, EventArgs e)
+ {
+ if (fans == null || fans.Text == "")
+ {
+ fans = new Fans();
+ fans.Show();
+ } else
+ {
+ fans.Close();
+ }
+
}
private void ButtonKeyboardColor_Click(object? sender, EventArgs e)
{
+ if (sender is null)
+ return;
+
Button but = (Button)sender;
ColorDialog colorDlg = new ColorDialog();
@@ -141,6 +163,9 @@ namespace GHelper
private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e)
{
+ if (sender is null)
+ return;
+
ComboBox cmb = (ComboBox)sender;
SetAuraMode(cmb.SelectedIndex);
}
@@ -148,6 +173,9 @@ namespace GHelper
private void CheckBoost_Click(object? sender, EventArgs e)
{
+ if (sender is null)
+ return;
+
CheckBox chk = (CheckBox)sender;
if (chk.Checked)
NativeMethods.SetCPUBoost(3);
@@ -403,6 +431,9 @@ namespace GHelper
labelPerf.Text = "Performance Mode: not supported";
}
+ if (fans != null && fans.Text != "")
+ fans.LoadFans();
+
}
@@ -611,11 +642,11 @@ namespace GHelper
CheckBox chk = (CheckBox)sender;
if (chk.Checked)
{
- Program.scheduler.Schedule();
+ Startup.Schedule();
}
else
{
- Program.scheduler.UnSchedule();
+ Startup.UnSchedule();
}
}
@@ -638,14 +669,20 @@ namespace GHelper
}
- private void trackBatteryChange(object sender, EventArgs e)
+ private void trackBatteryChange(object? sender, EventArgs e)
{
+ if (sender is null)
+ return;
+
TrackBar bar = (TrackBar)sender;
SetBatteryChargeLimit(bar.Value);
}
- private void checkGPU_CheckedChanged(object sender, EventArgs e)
+ private void checkGPU_CheckedChanged(object? sender, EventArgs e)
{
+ if (sender is null)
+ return;
+
CheckBox chk = (CheckBox)sender;
if (chk.Checked)
Program.config.setConfig("gpu_auto", 1);
@@ -654,8 +691,12 @@ namespace GHelper
}
- private void checkScreen_CheckedChanged(object sender, EventArgs e)
+ private void checkScreen_CheckedChanged(object? sender, EventArgs e)
{
+
+ if (sender is null)
+ return;
+
CheckBox chk = (CheckBox)sender;
if (chk.Checked)
Program.config.setConfig("screen_auto", 1);
diff --git a/Startup.cs b/Startup.cs
new file mode 100644
index 00000000..597ced1d
--- /dev/null
+++ b/Startup.cs
@@ -0,0 +1,42 @@
+using Microsoft.Win32.TaskScheduler;
+using System.Diagnostics;
+using System.Security.Principal;
+
+public class Startup
+{
+
+ static string taskName = "GHelper";
+
+ public static bool IsScheduled()
+ {
+ TaskService taskService = new TaskService();
+ return (taskService.RootFolder.AllTasks.Any(t => t.Name == taskName));
+ }
+
+ public static void Schedule()
+ {
+
+ string strExeFilePath = Application.ExecutablePath;
+
+ if (strExeFilePath is null) return;
+
+ var userId = WindowsIdentity.GetCurrent().Name;
+
+ Debug.WriteLine(strExeFilePath);
+ TaskDefinition td = TaskService.Instance.NewTask();
+ td.RegistrationInfo.Description = "GHelper Auto Start";
+ td.Triggers.Add(new LogonTrigger { UserId = userId, });
+ td.Actions.Add(strExeFilePath);
+
+ td.Settings.StopIfGoingOnBatteries = false;
+ td.Settings.DisallowStartIfOnBatteries = false;
+
+ TaskService.Instance.RootFolder.RegisterTaskDefinition(taskName, td);
+ }
+
+ public static void UnSchedule()
+ {
+ TaskService taskService = new TaskService();
+ taskService.RootFolder.DeleteTask(taskName);
+ }
+}
diff --git a/app.manifest b/app.manifest
index a132f214..e1a3099c 100644
--- a/app.manifest
+++ b/app.manifest
@@ -53,13 +53,16 @@
Makes the application long-path aware. See https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
-
- true
- true
-
-
+
+
+ PerMonitorV2, PerMonitor, System
+ true
+
+
-
+
+
+