diff --git a/AsusFanControlGUI/App.config b/AsusFanControlGUI/App.config
index e3f09c5..f538c99 100644
--- a/AsusFanControlGUI/App.config
+++ b/AsusFanControlGUI/App.config
@@ -25,6 +25,15 @@
20,1-60,1-61,20-70,20-71,30-80,55
+
+ False
+
+
+ False
+
+
+ False
+
diff --git a/AsusFanControlGUI/AsusFanControlGUI.csproj b/AsusFanControlGUI/AsusFanControlGUI.csproj
index 25ad69c..f0e612f 100644
--- a/AsusFanControlGUI/AsusFanControlGUI.csproj
+++ b/AsusFanControlGUI/AsusFanControlGUI.csproj
@@ -14,6 +14,9 @@
true
true
false
+
+
+
C:\Users\bow33\Documents\GitHub\AsusFanControlEnhanced\
true
Disk
@@ -29,9 +32,6 @@
false
true
true
-
-
-
AnyCPU
@@ -97,6 +97,7 @@
True
True
+
..\packages\System.AppContext.4.3.0\lib\net463\System.AppContext.dll
diff --git a/AsusFanControlGUI/Form1.Designer.cs b/AsusFanControlGUI/Form1.Designer.cs
index 47361b5..11b6fbf 100644
--- a/AsusFanControlGUI/Form1.Designer.cs
+++ b/AsusFanControlGUI/Form1.Designer.cs
@@ -43,6 +43,8 @@
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemTurnOffControlOnExit = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemForbidUnsafeSettings = new System.Windows.Forms.ToolStripMenuItem();
+ this.allowFanCurveSettingViaTextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.resetToDefaultsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemCheckForUpdates = new System.Windows.Forms.ToolStripMenuItem();
this.label5 = new System.Windows.Forms.Label();
this.pictureBoxFanCurve = new System.Windows.Forms.PictureBox();
@@ -53,7 +55,6 @@
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
- this.autoRefresh = new System.Windows.Forms.CheckBox();
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -68,6 +69,11 @@
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.label3 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
+ this.label10 = new System.Windows.Forms.Label();
+ this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.startupSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.startMinimisedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.startWithWindowsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.trackBarFanSpeed)).BeginInit();
this.menuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxFanCurve)).BeginInit();
@@ -80,6 +86,7 @@
//
// trackBarFanSpeed
//
+ this.trackBarFanSpeed.Enabled = false;
this.trackBarFanSpeed.Location = new System.Drawing.Point(17, 94);
this.trackBarFanSpeed.Margin = new System.Windows.Forms.Padding(4);
this.trackBarFanSpeed.Maximum = 100;
@@ -88,23 +95,23 @@
this.trackBarFanSpeed.TabIndex = 0;
this.trackBarFanSpeed.Value = 100;
this.trackBarFanSpeed.KeyUp += new System.Windows.Forms.KeyEventHandler(this.trackBarFanSpeed_KeyUp);
- this.trackBarFanSpeed.MouseCaptureChanged += new System.EventHandler(this.trackBarFanSpeed_MouseCaptureChanged);
this.trackBarFanSpeed.MouseUp += new System.Windows.Forms.MouseEventHandler(this.trackBarFanSpeed_MouseUp);
//
// label1
//
this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(13, 509);
+ this.label1.Location = new System.Drawing.Point(13, 534);
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(88, 16);
this.label1.TabIndex = 1;
this.label1.Text = "Current value:";
+ this.label1.Click += new System.EventHandler(this.label1_Click);
//
// labelValue
//
this.labelValue.AutoSize = true;
- this.labelValue.Location = new System.Drawing.Point(118, 509);
+ this.labelValue.Location = new System.Drawing.Point(118, 534);
this.labelValue.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelValue.Name = "labelValue";
this.labelValue.Size = new System.Drawing.Size(11, 16);
@@ -114,7 +121,7 @@
// label2
//
this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(50, 575);
+ this.label2.Location = new System.Drawing.Point(50, 566);
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(85, 16);
@@ -123,7 +130,7 @@
//
// button1
//
- this.button1.Location = new System.Drawing.Point(13, 569);
+ this.button1.Location = new System.Drawing.Point(13, 560);
this.button1.Margin = new System.Windows.Forms.Padding(4);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(29, 28);
@@ -135,7 +142,7 @@
// labelRPM
//
this.labelRPM.AutoSize = true;
- this.labelRPM.Location = new System.Drawing.Point(153, 575);
+ this.labelRPM.Location = new System.Drawing.Point(153, 566);
this.labelRPM.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelRPM.Name = "labelRPM";
this.labelRPM.Size = new System.Drawing.Size(11, 16);
@@ -145,7 +152,7 @@
// labelCPUTemp
//
this.labelCPUTemp.AutoSize = true;
- this.labelCPUTemp.Location = new System.Drawing.Point(185, 611);
+ this.labelCPUTemp.Location = new System.Drawing.Point(185, 602);
this.labelCPUTemp.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelCPUTemp.Name = "labelCPUTemp";
this.labelCPUTemp.Size = new System.Drawing.Size(11, 16);
@@ -154,7 +161,7 @@
//
// button2
//
- this.button2.Location = new System.Drawing.Point(13, 605);
+ this.button2.Location = new System.Drawing.Point(13, 596);
this.button2.Margin = new System.Windows.Forms.Padding(4);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(29, 28);
@@ -166,7 +173,7 @@
// label4
//
this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(50, 611);
+ this.label4.Location = new System.Drawing.Point(50, 602);
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(116, 16);
@@ -178,7 +185,8 @@
this.menuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem1,
- this.toolStripMenuItemCheckForUpdates});
+ this.toolStripMenuItemCheckForUpdates,
+ this.optionsToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(595, 28);
@@ -189,16 +197,18 @@
//
this.toolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItemTurnOffControlOnExit,
- this.toolStripMenuItemForbidUnsafeSettings});
+ this.toolStripMenuItemForbidUnsafeSettings,
+ this.allowFanCurveSettingViaTextToolStripMenuItem,
+ this.resetToDefaultsToolStripMenuItem});
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
- this.toolStripMenuItem1.Size = new System.Drawing.Size(89, 24);
+ this.toolStripMenuItem1.Size = new System.Drawing.Size(89, 26);
this.toolStripMenuItem1.Text = "Advanced";
//
// toolStripMenuItemTurnOffControlOnExit
//
this.toolStripMenuItemTurnOffControlOnExit.CheckOnClick = true;
this.toolStripMenuItemTurnOffControlOnExit.Name = "toolStripMenuItemTurnOffControlOnExit";
- this.toolStripMenuItemTurnOffControlOnExit.Size = new System.Drawing.Size(244, 26);
+ this.toolStripMenuItemTurnOffControlOnExit.Size = new System.Drawing.Size(293, 26);
this.toolStripMenuItemTurnOffControlOnExit.Text = "Turn off control on exit";
this.toolStripMenuItemTurnOffControlOnExit.CheckedChanged += new System.EventHandler(this.toolStripMenuItemTurnOffControlOnExit_CheckedChanged);
//
@@ -206,14 +216,29 @@
//
this.toolStripMenuItemForbidUnsafeSettings.CheckOnClick = true;
this.toolStripMenuItemForbidUnsafeSettings.Name = "toolStripMenuItemForbidUnsafeSettings";
- this.toolStripMenuItemForbidUnsafeSettings.Size = new System.Drawing.Size(244, 26);
+ this.toolStripMenuItemForbidUnsafeSettings.Size = new System.Drawing.Size(293, 26);
this.toolStripMenuItemForbidUnsafeSettings.Text = "Forbid unsafe settings";
this.toolStripMenuItemForbidUnsafeSettings.CheckedChanged += new System.EventHandler(this.toolStripMenuItemForbidUnsafeSettings_CheckedChanged);
//
+ // allowFanCurveSettingViaTextToolStripMenuItem
+ //
+ this.allowFanCurveSettingViaTextToolStripMenuItem.CheckOnClick = true;
+ this.allowFanCurveSettingViaTextToolStripMenuItem.Name = "allowFanCurveSettingViaTextToolStripMenuItem";
+ this.allowFanCurveSettingViaTextToolStripMenuItem.Size = new System.Drawing.Size(293, 26);
+ this.allowFanCurveSettingViaTextToolStripMenuItem.Text = "Allow FanCurve Seting via Text";
+ this.allowFanCurveSettingViaTextToolStripMenuItem.Click += new System.EventHandler(this.allowFanCurveSettingViaTextToolStripMenuItem_Click);
+ //
+ // resetToDefaultsToolStripMenuItem
+ //
+ this.resetToDefaultsToolStripMenuItem.Name = "resetToDefaultsToolStripMenuItem";
+ this.resetToDefaultsToolStripMenuItem.Size = new System.Drawing.Size(293, 26);
+ this.resetToDefaultsToolStripMenuItem.Text = "Reset to defaults";
+ this.resetToDefaultsToolStripMenuItem.Click += new System.EventHandler(this.resetToDefaultsToolStripMenuItem_Click);
+ //
// toolStripMenuItemCheckForUpdates
//
this.toolStripMenuItemCheckForUpdates.Name = "toolStripMenuItemCheckForUpdates";
- this.toolStripMenuItemCheckForUpdates.Size = new System.Drawing.Size(142, 24);
+ this.toolStripMenuItemCheckForUpdates.Size = new System.Drawing.Size(142, 26);
this.toolStripMenuItemCheckForUpdates.Text = "Check for updates";
this.toolStripMenuItemCheckForUpdates.Click += new System.EventHandler(this.toolStripMenuItemCheckForUpdates_Click);
//
@@ -228,9 +253,9 @@
//
// pictureBoxFanCurve
//
- this.pictureBoxFanCurve.Location = new System.Drawing.Point(13, 200);
+ this.pictureBoxFanCurve.Location = new System.Drawing.Point(13, 225);
this.pictureBoxFanCurve.Name = "pictureBoxFanCurve";
- this.pictureBoxFanCurve.Size = new System.Drawing.Size(565, 258);
+ this.pictureBoxFanCurve.Size = new System.Drawing.Size(573, 258);
this.pictureBoxFanCurve.TabIndex = 0;
this.pictureBoxFanCurve.TabStop = false;
this.pictureBoxFanCurve.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBoxFanCurve_Paint);
@@ -247,12 +272,11 @@
this.groupBox1.Controls.Add(this.fanCurve);
this.groupBox1.Controls.Add(this.trackBarFanSpeed);
this.groupBox1.Controls.Add(this.label5);
- this.groupBox1.Location = new System.Drawing.Point(12, 12);
+ this.groupBox1.Location = new System.Drawing.Point(12, 37);
this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(566, 182);
+ this.groupBox1.Size = new System.Drawing.Size(574, 182);
this.groupBox1.TabIndex = 14;
this.groupBox1.TabStop = false;
- this.groupBox1.Text = "groupBox1";
//
// radioButton1
//
@@ -291,43 +315,31 @@
//
// button3
//
- this.button3.Location = new System.Drawing.Point(553, 464);
+ this.button3.Location = new System.Drawing.Point(553, 489);
this.button3.Name = "button3";
- this.button3.Size = new System.Drawing.Size(25, 23);
+ this.button3.Size = new System.Drawing.Size(33, 27);
this.button3.TabIndex = 22;
this.button3.Text = "S";
- this.toolTip1.SetToolTip(this.button3, "Set");
+ this.toolTip1.SetToolTip(this.button3, "Set the fancurve based on the entered string.");
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button4
//
- this.button4.Location = new System.Drawing.Point(12, 464);
+ this.button4.Location = new System.Drawing.Point(13, 489);
this.button4.Name = "button4";
- this.button4.Size = new System.Drawing.Size(35, 23);
+ this.button4.Size = new System.Drawing.Size(35, 27);
this.button4.TabIndex = 23;
this.button4.Text = "R";
this.toolTip1.SetToolTip(this.button4, "Reset");
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
- // autoRefresh
- //
- this.autoRefresh.AutoSize = true;
- this.autoRefresh.Checked = true;
- this.autoRefresh.CheckState = System.Windows.Forms.CheckState.Checked;
- this.autoRefresh.Location = new System.Drawing.Point(12, 542);
- this.autoRefresh.Name = "autoRefresh";
- this.autoRefresh.Size = new System.Drawing.Size(106, 20);
- this.autoRefresh.TabIndex = 15;
- this.autoRefresh.Text = "Auto Refresh";
- this.autoRefresh.UseVisualStyleBackColor = true;
- //
// notifyIcon1
//
this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1;
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
- this.notifyIcon1.Text = "notifyIcon1";
+ this.notifyIcon1.Text = "Hello";
this.notifyIcon1.Visible = true;
this.notifyIcon1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseClick);
//
@@ -365,7 +377,7 @@
//
// numericUpDown1
//
- this.numericUpDown1.Location = new System.Drawing.Point(153, 23);
+ this.numericUpDown1.Location = new System.Drawing.Point(139, 23);
this.numericUpDown1.Maximum = new decimal(new int[] {
10,
0,
@@ -388,7 +400,7 @@
this.groupBox2.Controls.Add(this.label7);
this.groupBox2.Controls.Add(this.numericUpDown1);
this.groupBox2.Controls.Add(this.label6);
- this.groupBox2.Location = new System.Drawing.Point(364, 512);
+ this.groupBox2.Location = new System.Drawing.Point(364, 537);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(214, 87);
this.groupBox2.TabIndex = 19;
@@ -398,7 +410,7 @@
// label9
//
this.label9.AutoSize = true;
- this.label9.Location = new System.Drawing.Point(194, 28);
+ this.label9.Location = new System.Drawing.Point(183, 29);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(14, 16);
this.label9.TabIndex = 24;
@@ -420,9 +432,9 @@
0,
0,
0});
- this.numericUpDown2.Location = new System.Drawing.Point(120, 56);
+ this.numericUpDown2.Location = new System.Drawing.Point(112, 56);
this.numericUpDown2.Maximum = new decimal(new int[] {
- 10000,
+ 60000,
0,
0,
0});
@@ -432,7 +444,7 @@
0,
0});
this.numericUpDown2.Name = "numericUpDown2";
- this.numericUpDown2.Size = new System.Drawing.Size(63, 22);
+ this.numericUpDown2.Size = new System.Drawing.Size(68, 22);
this.numericUpDown2.TabIndex = 22;
this.numericUpDown2.Value = new decimal(new int[] {
3000,
@@ -451,32 +463,76 @@
//
// label3
//
- this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(371, 617);
+ this.label3.Location = new System.Drawing.Point(12, 656);
this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(44, 16);
+ this.label3.Size = new System.Drawing.Size(574, 16);
this.label3.TabIndex = 20;
- this.label3.Text = "label3";
- this.label3.Visible = false;
+ this.label3.Text = ".";
+ this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// textBox1
//
- this.textBox1.Location = new System.Drawing.Point(53, 464);
+ this.textBox1.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox1.Location = new System.Drawing.Point(53, 489);
this.textBox1.Name = "textBox1";
- this.textBox1.Size = new System.Drawing.Size(494, 22);
+ this.textBox1.ReadOnly = true;
+ this.textBox1.Size = new System.Drawing.Size(494, 27);
this.textBox1.TabIndex = 21;
+ this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress);
+ this.textBox1.MouseHover += new System.EventHandler(this.textBox1_MouseHover);
+ //
+ // label10
+ //
+ this.label10.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ this.label10.Location = new System.Drawing.Point(12, 645);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(574, 2);
+ this.label10.TabIndex = 24;
+ //
+ // optionsToolStripMenuItem
+ //
+ this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.startupSettingsToolStripMenuItem});
+ this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
+ this.optionsToolStripMenuItem.Size = new System.Drawing.Size(75, 26);
+ this.optionsToolStripMenuItem.Text = "Options";
+ //
+ // startupSettingsToolStripMenuItem
+ //
+ this.startupSettingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.startMinimisedToolStripMenuItem,
+ this.startWithWindowsToolStripMenuItem});
+ this.startupSettingsToolStripMenuItem.Name = "startupSettingsToolStripMenuItem";
+ this.startupSettingsToolStripMenuItem.Size = new System.Drawing.Size(224, 26);
+ this.startupSettingsToolStripMenuItem.Text = "Startup Settings";
+ //
+ // startMinimisedToolStripMenuItem
+ //
+ this.startMinimisedToolStripMenuItem.CheckOnClick = true;
+ this.startMinimisedToolStripMenuItem.Name = "startMinimisedToolStripMenuItem";
+ this.startMinimisedToolStripMenuItem.Size = new System.Drawing.Size(224, 26);
+ this.startMinimisedToolStripMenuItem.Text = "Start Minimised";
+ this.startMinimisedToolStripMenuItem.Click += new System.EventHandler(this.startMinimisedToolStripMenuItem_Click);
+ //
+ // startWithWindowsToolStripMenuItem
+ //
+ this.startWithWindowsToolStripMenuItem.CheckOnClick = true;
+ this.startWithWindowsToolStripMenuItem.Name = "startWithWindowsToolStripMenuItem";
+ this.startWithWindowsToolStripMenuItem.Size = new System.Drawing.Size(224, 26);
+ this.startWithWindowsToolStripMenuItem.Text = "Start with Windows";
+ this.startWithWindowsToolStripMenuItem.Click += new System.EventHandler(this.startWithWindowsToolStripMenuItem1_Click_1);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(595, 650);
+ this.ClientSize = new System.Drawing.Size(595, 685);
+ this.Controls.Add(this.label10);
this.Controls.Add(this.button4);
this.Controls.Add(this.button3);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label3);
this.Controls.Add(this.groupBox2);
- this.Controls.Add(this.autoRefresh);
this.Controls.Add(this.pictureBoxFanCurve);
this.Controls.Add(this.labelCPUTemp);
this.Controls.Add(this.button2);
@@ -493,6 +549,7 @@
this.Margin = new System.Windows.Forms.Padding(4);
this.Name = "Form1";
this.Text = "AsusFanControlEnhanced";
+ this.Shown += new System.EventHandler(this.Form1_Shown);
this.Resize += new System.EventHandler(this.Form1_Resize);
((System.ComponentModel.ISupportInitialize)(this.trackBarFanSpeed)).EndInit();
this.menuStrip1.ResumeLayout(false);
@@ -532,7 +589,6 @@
private System.Windows.Forms.RadioButton fanCurve;
private System.Windows.Forms.RadioButton fanControl;
private System.Windows.Forms.ToolTip toolTip1;
- private System.Windows.Forms.CheckBox autoRefresh;
private System.Windows.Forms.NotifyIcon notifyIcon1;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem;
@@ -550,6 +606,13 @@
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
+ private System.Windows.Forms.ToolStripMenuItem resetToDefaultsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem allowFanCurveSettingViaTextToolStripMenuItem;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem startupSettingsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem startMinimisedToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem startWithWindowsToolStripMenuItem;
}
}
diff --git a/AsusFanControlGUI/Form1.cs b/AsusFanControlGUI/Form1.cs
index 70c907a..a4fa2ff 100644
--- a/AsusFanControlGUI/Form1.cs
+++ b/AsusFanControlGUI/Form1.cs
@@ -5,12 +5,14 @@ using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
+using System.Reflection;
using System.Security.AccessControl;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AsusFanControl;
using AsusFanControlGUI.Properties;
+using Microsoft.Win32;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace AsusFanControlGUI
@@ -26,8 +28,8 @@ namespace AsusFanControlGUI
InitializeComponent();
AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnProcessExit);
- if (Debugger.IsAttached)
- Settings.Default.Reset();
+ //if (Debugger.IsAttached)
+ // Settings.Default.Reset();
init();
}
@@ -38,14 +40,18 @@ namespace AsusFanControlGUI
{
toolStripMenuItemTurnOffControlOnExit.Checked = Properties.Settings.Default.turnOffControlOnExit;
toolStripMenuItemForbidUnsafeSettings.Checked = Properties.Settings.Default.forbidUnsafeSettings;
+ startMinimisedToolStripMenuItem.Checked = Properties.Settings.Default.startMinimised;
+ startWithWindowsToolStripMenuItem.Checked = Properties.Settings.Default.startWithWindows;
trackBarFanSpeed.Value = Properties.Settings.Default.fanSpeed;
radioButton1.Checked = Properties.Settings.Default.fanControlState == "Off";
fanControl.Checked = Properties.Settings.Default.fanControlState == "Manual";
fanCurve.Checked = Properties.Settings.Default.fanControlState == "Curve";
+ allowFanCurveSettingViaTextToolStripMenuItem.Checked = Properties.Settings.Default.allowFanCurveSettingViaText;
// Manually trigger events
radioButton1_CheckedChanged(radioButton1, EventArgs.Empty);
fanCurve_CheckedChanged(fanCurve, EventArgs.Empty);
fanControl_CheckedChanged(fanControl, EventArgs.Empty);
+ allowFanCurveSettingViaTextToolStripMenuItem_Click(allowFanCurveSettingViaTextToolStripMenuItem, EventArgs.Empty);
Properties.Settings.Default.PropertyChanged += (sender, e) =>
{
@@ -57,8 +63,6 @@ namespace AsusFanControlGUI
SetFanCurvePoints(null);
//SetFanCurvePoints("20,1;60,1;61,20;70,20;71,30;80,55");
Timer_Tick();
-
-
}
else
{
@@ -70,38 +74,51 @@ namespace AsusFanControlGUI
private async void Timer_Tick()
{
- if (autoRefresh.Checked && WindowState != FormWindowState.Minimized)
+ if (WindowState == FormWindowState.Minimized)
{
- Console.WriteLine($"Refreshing {rnd.Next(100)}");
-
- // Update fan speeds and CPU temperature on a separate task
- await Task.Run(() =>
- {
- // Get fan speeds
- string fanSpeeds = string.Join(" ", asusControl.GetFanSpeeds());
-
- // Get CPU temperature
- string cpuTemp = $"{asusControl.Thermal_Read_Cpu_Temperature()}";
-
- // Update UI on the main thread
- BeginInvoke(new Action(() =>
- {
- labelRPM.Text = fanSpeeds;
- labelCPUTemp.Text = cpuTemp;
- }));
- });
+ await Task.Delay(1000);
Timer_Tick();
+ return;
}
- else
- {
- await Task.Delay(1000).ContinueWith(t => { Timer_Tick(); });
- }
+
+ Console.WriteLine($"Refreshing {rnd.Next(100)}");
+ // Update fan speeds and CPU temperature.
+ // Run both tasks concurrently
+ Task fanSpeedsTask = Task.Run(() => string.Join(" ", asusControl.GetFanSpeeds()));
+ Task cpuTempTask = Task.Run(() => $"{asusControl.Thermal_Read_Cpu_Temperature()}");
+
+ // Wait for both tasks to complete
+ await Task.WhenAll(fanSpeedsTask, cpuTempTask);
+
+ // Get the results from the completed tasks
+ labelRPM.Text = fanSpeedsTask.Result;
+ labelCPUTemp.Text = cpuTempTask.Result;
+
+ await Task.Delay(250);
+ Timer_Tick();
+ }
+
+ private void AddToStartup()
+ {
+ string appName = Assembly.GetExecutingAssembly().GetName().Name;
+ string appPath = Assembly.GetExecutingAssembly().Location;
+
+ RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
+ registryKey.SetValue(appName, appPath);
+ }
+
+ private void RemoveFromStartup()
+ {
+ string appName = Assembly.GetExecutingAssembly().GetName().Name;
+
+ RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
+ registryKey.DeleteValue(appName, false);
}
private void OnProcessExit(object sender, EventArgs e)
{
if (Properties.Settings.Default.turnOffControlOnExit)
- asusControl.SetFanSpeeds(0);
+ setFanSpeed(0, null);
}
private void toolStripMenuItemTurnOffControlOnExit_CheckedChanged(object sender, EventArgs e)
@@ -127,7 +144,8 @@ namespace AsusFanControlGUI
{
Properties.Settings.Default.fanControlState = "Off";
Properties.Settings.Default.Save();
- asusControl.SetFanSpeeds(0);
+
+ setFanSpeed(0, null);
}
}
@@ -137,33 +155,42 @@ namespace AsusFanControlGUI
{
Properties.Settings.Default.fanControlState = "Manual";
Properties.Settings.Default.Save();
- trackBarFanSpeed_MouseCaptureChanged(sender, e);
+ trackBarFanSpeed.Enabled = true;
+
+ trackBarSetFanSpeed();
+ }
+ else
+ {
+ trackBarFanSpeed.Enabled=false;
}
}
- private void setFanSpeed(int value, bool isTurnedOn)
+ bool turnedoff = false;
+ private async void setFanSpeed(int value, bool? isTurnedOn)
{
-
- Properties.Settings.Default.fanSpeed = value;
- Properties.Settings.Default.Save();
-
- if (!isTurnedOn)
- value = 0;
-
- if (value == 0)
- BeginInvoke(new Action(() => labelValue.Text = "turned off"));
- else
- BeginInvoke(new Action(() => labelValue.Text = value.ToString() + "%"));
-
if (fanSpeed == value)
return;
+ if (turnedoff && value == 0)
+ return;
+
fanSpeed = value;
- asusControl.SetFanSpeeds(value);
+ await Task.Run(() => asusControl.SetFanSpeeds(value));
+
+ if (value == 0)
+ {
+ labelValue.Text = "turned off";
+ turnedoff = true;
+ }
+ else
+ {
+ labelValue.Text = value.ToString() + "%";
+ turnedoff = false;
+ }
}
- private async void trackBarFanSpeed_MouseCaptureChanged(object sender, EventArgs e)
+ private void trackBarSetFanSpeed()
{
if (Properties.Settings.Default.forbidUnsafeSettings)
{
@@ -173,12 +200,13 @@ namespace AsusFanControlGUI
trackBarFanSpeed.Value = 99;
}
+ Properties.Settings.Default.fanSpeed = trackBarFanSpeed.Value;
+ Properties.Settings.Default.Save();
+
Decimal trackBarFanSpeedValue = trackBarFanSpeed.Value;
label5.Text = trackBarFanSpeedValue.ToString() + "% Fan";
- await Task.Run(() =>
- setFanSpeed((int)trackBarFanSpeedValue, fanControl.Checked)
- );
+ setFanSpeed((int)trackBarFanSpeedValue, fanControl.Checked);
}
private void trackBarFanSpeed_KeyUp(object sender, KeyEventArgs e)
@@ -186,34 +214,33 @@ namespace AsusFanControlGUI
if (e.KeyCode != Keys.Left && e.KeyCode != Keys.Right)
return;
- trackBarFanSpeed_MouseCaptureChanged(sender, e);
+ trackBarSetFanSpeed();
}
- private void button1_Click(object sender, EventArgs e)
+ private async void button1_Click(object sender, EventArgs e)
{
- labelRPM.Text = string.Join(" ", asusControl.GetFanSpeeds());
+ List fanSpeed = await Task.Run(() => asusControl.GetFanSpeeds());
+ labelRPM.Text = string.Join(" ", fanSpeed);
}
- private void button2_Click(object sender, EventArgs e)
+ private async void button2_Click(object sender, EventArgs e)
{
- labelCPUTemp.Text = $"{asusControl.Thermal_Read_Cpu_Temperature()}";
+ ulong fanSpeed = await Task.Run(() => asusControl.Thermal_Read_Cpu_Temperature());
+ labelCPUTemp.Text = $"{fanSpeed}";
}
-
-
-
// My Code:
private Point maxPoint;
private Point minPoint;
private Dictionary fanCurvePoints = new Dictionary()
-{
- { 1, new Point(20, 1) },
- { 4, new Point(60, 1) },
- { 5, new Point(61, 20) },
- { 7, new Point(70, 20) },
- { 8, new Point(71, 30) },
- { 9, new Point(80, 55) },
-};
+ {
+ { 1, new Point(20, 1) },
+ { 4, new Point(60, 1) },
+ { 5, new Point(61, 20) },
+ { 7, new Point(70, 20) },
+ { 8, new Point(71, 30) },
+ { 9, new Point(80, 55) },
+ };
private Timer fanCurveTimer; // Declare the timer as a class-level variable
// Set up the graph dimensions
@@ -286,7 +313,7 @@ namespace AsusFanControlGUI
(int temperature, int fanSpeed) = mousePosition(e.Location);
- if (fanCurvePoints.Count >= 15)
+ if (fanCurvePoints.Count >= 20)
{
MessageBox.Show("Maximum number of points reached.");
return;
@@ -376,10 +403,24 @@ namespace AsusFanControlGUI
private void pictureBoxFanCurve_MouseMove(object sender, MouseEventArgs e)
{
+ byte minimumTemperature = 20;
+ byte maximumTemperature = 105;
+ byte minFanSpeed = 1;
+ byte maxFanSpeed = 100;
if (selectedPointId != 0)
{
// Get mouse location on grid
(int temperature, int fanSpeed) = mousePosition(e.Location);
+
+ if (temperature < minimumTemperature || temperature > maximumTemperature)
+ {
+ temperature = Math.Max(minimumTemperature, Math.Min(temperature, maximumTemperature));
+ }
+ if (fanSpeed < minFanSpeed || fanSpeed > maxFanSpeed)
+ {
+ fanSpeed = Math.Max(minFanSpeed, Math.Min(fanSpeed, maxFanSpeed));
+ }
+
//Update location of point
fanCurvePoints[selectedPointId] = new Point(temperature, fanSpeed);
@@ -408,75 +449,75 @@ namespace AsusFanControlGUI
return Math.Sqrt(dx * dx + dy * dy);
}
- bool isControlYeilded = false;
private void fanCurve_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.fanControlState = "Curve";
Properties.Settings.Default.Save();
- if (fanCurve.Checked)
+ Console.WriteLine(fanCurve.Checked);
+ runFanCurve();
+ }
+
+ private async void runFanCurve()
+ {
+ if (!fanCurve.Checked)
{
- // Read the current temperature
- ulong currentTemp = asusControl.Thermal_Read_Cpu_Temperature(); // Implement the ReadTemperature method to get the current temperature
+ label3.Text = $"";
+ return;
+ }
+ Console.WriteLine("Fan Curve, " + (int)numericUpDown2.Value);
- // Find the fan curve points that bracket the current temperature
- KeyValuePair lowerPoint = fanCurvePoints.OrderByDescending(p => p.Value.X).FirstOrDefault(p => (ulong)p.Value.X <= currentTemp);
- KeyValuePair upperPoint = fanCurvePoints.OrderBy(p => p.Value.X).FirstOrDefault(p => (ulong)p.Value.X >= currentTemp);
+ // Read the current temperature
+ ulong currentTemp = await Task.Run(() => asusControl.Thermal_Read_Cpu_Temperature()); // Implement the ReadTemperature method to get the current temperature
+ Console.WriteLine("Temp, " + currentTemp);
+ // Find the fan curve points that bracket the current temperature
+ KeyValuePair lowerPoint = fanCurvePoints.OrderByDescending(p => p.Value.X).FirstOrDefault(p => (ulong)p.Value.X <= currentTemp);
+ KeyValuePair upperPoint = fanCurvePoints.OrderBy(p => p.Value.X).FirstOrDefault(p => (ulong)p.Value.X >= currentTemp);
+
+ // Update UI on the main thread
+ label3.Text = $"Low: {lowerPoint.Value.X} High: {upperPoint.Value.X}";
+
+ // Check if the current temperature is within the range of the fan curve points
+ if (lowerPoint.Key == 0 || upperPoint.Key == 0)
+ {
+ // Temperature is outside the range, yield control to the system.
+ label3.Text = "Control yeilded to system when outside range.";
+ Console.WriteLine("Temperature is outside the range, yield control to the system.");
+ setFanSpeed(0, null);
+ }
+ else if (lowerPoint.Value.X == upperPoint.Value.X)
+ {
+ setFanSpeed(lowerPoint.Value.Y, true); // Implement the SetFanSpeed method to control the fan speed
+
+ Console.WriteLine($"Set fan speed to {lowerPoint.Value.Y}% {rnd.Next(1000)}, last fan speed = {lastFanSpeed}");
+ lastFanSpeed = lowerPoint.Value.Y;
+ }
+ else
+ {
// Calculate the fan speed based on linear interpolation between the bracket points
int fanSpeed;
- // Check if the current temperature is within the range of the fan curve points
- if ((ulong)lowerPoint.Key == 0 || (ulong)upperPoint.Key == 0)
+ double ratio = (currentTemp - (ulong)lowerPoint.Value.X) / (double)(upperPoint.Value.X - lowerPoint.Value.X);
+ fanSpeed = (int)(lowerPoint.Value.Y + (upperPoint.Value.Y - lowerPoint.Value.Y) * ratio);
+
+
+ // Apply hysteresis to prevent rapid fan speed changes
+ int hysteresis = (int)numericUpDown1.Value; // Adjust the hysteresis value as needed
+ if (fanSpeed > lastFanSpeed + hysteresis || fanSpeed < lastFanSpeed - hysteresis || fanSpeed < 10)
{
- // Temperature is outside the range, yield control to the system
- if (!isControlYeilded)
- {
- asusControl.SetFanSpeeds(0);
- isControlYeilded = true;
- }
+ // Update the fan speed
+ fanSpeed = Math.Max(1, Math.Min(100, fanSpeed));
+ setFanSpeed(fanSpeed, true); // Implement the SetFanSpeed method to control the fan speed
+
+ Console.WriteLine($"Set fan speed to {fanSpeed}% {rnd.Next(1000)}, last fan speed = {lastFanSpeed}");
+ lastFanSpeed = fanSpeed;
+
}
- else if (lowerPoint.Value.X == upperPoint.Value.X)
- {
- setFanSpeed(lowerPoint.Value.Y, true); // Implement the SetFanSpeed method to control the fan speed
- Console.WriteLine($"Set fan speed to {lowerPoint.Value.Y}% {rnd.Next(1000)}, last fan speed = {lastFanSpeed}");
- // Update UI on the main thread
- BeginInvoke(new Action(() =>
- {
- label3.Text = $"Low: {lowerPoint.Value.X} High: {upperPoint.Value.X}";
- }));
- lastFanSpeed = lowerPoint.Value.Y;
- }
- else
- {
- isControlYeilded = false;
-
- double ratio = (currentTemp - (ulong)lowerPoint.Value.X) / (double)(upperPoint.Value.X - lowerPoint.Value.X);
- fanSpeed = (int)(lowerPoint.Value.Y + (upperPoint.Value.Y - lowerPoint.Value.Y) * ratio);
+ };
+ await Task.Delay((int)numericUpDown2.Value);
+ runFanCurve();
- // Apply hysteresis to prevent rapid fan speed changes
- int hysteresis = (int)numericUpDown1.Value; // Adjust the hysteresis value as needed
- if (fanSpeed > lastFanSpeed + hysteresis || fanSpeed < lastFanSpeed - hysteresis || fanSpeed < 10)
- {
- // Update the fan speed
- fanSpeed = Math.Max(1, Math.Min(100, fanSpeed));
- setFanSpeed(fanSpeed, true); // Implement the SetFanSpeed method to control the fan speed
-
- Console.WriteLine($"Set fan speed to {fanSpeed}% {rnd.Next(1000)}, last fan speed = {lastFanSpeed}");
- // Update UI on the main thread
- BeginInvoke(new Action(() =>
- {
- label3.Text = $"Low: {lowerPoint.Value.X} High: {upperPoint.Value.X}";
- }));
- lastFanSpeed = fanSpeed;
-
- }
-
- };
- Task.Delay((int)numericUpDown2.Value).ContinueWith(t => { fanCurve_CheckedChanged(null, null); });
-
-
- }
}
// Keep track of the last fan speed to apply hysteresis
@@ -488,11 +529,16 @@ namespace AsusFanControlGUI
{
if (WindowState == FormWindowState.Minimized)
{
- Hide();
- notifyIcon1.Visible = true;
+ MinimizeToTray();
}
}
+ public void MinimizeToTray()
+ {
+ this.Hide();
+ notifyIcon1.Visible = true;
+ }
+
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
Show();
@@ -527,32 +573,33 @@ namespace AsusFanControlGUI
private void SetFanCurvePoints(String? fanCurveString)
{
- int count = 0;
+ int count = 1;
string fanCurvePointsString = fanCurveString ?? Properties.Settings.Default.FanCurvePoints;
- if (!string.IsNullOrEmpty(fanCurvePointsString))
+ Console.WriteLine(fanCurvePointsString);
+
+ if (string.IsNullOrEmpty(fanCurvePointsString))
+ {
+ return;
+ }
+ // Parse the string
+ try
{
- Console.WriteLine(fanCurvePointsString);
-
- // Parse the string
- try
+ fanCurvePoints = fanCurvePointsString.Split('-')
+ .Select(x =>
{
- fanCurvePoints = fanCurvePointsString.Split('-')
- .Select(x =>
- {
- string[] parts = x.Split(',');
- return new KeyValuePair(count++, new Point(int.Parse(parts[0]), int.Parse(parts[1])));
- })
- .ToDictionary(x => x.Key, x => x.Value);
+ string[] parts = x.Split(',');
+ return new KeyValuePair(count++, new Point(int.Parse(parts[0]), int.Parse(parts[1])));
+ })
+ .ToDictionary(x => x.Key, x => x.Value);
- //Save
- textBox1.Text = fanCurvePointsString;
- SaveFanCurvePoints();
- }
- catch
- {
- MessageBox.Show("Invalid string.");
- }
+ //Save
+ textBox1.Text = fanCurvePointsString;
+ SaveFanCurvePoints();
+ }
+ catch (Exception ex)
+ {
+ throw;
}
pictureBoxFanCurve.Invalidate();
@@ -566,13 +613,113 @@ namespace AsusFanControlGUI
private void button3_Click(object sender, EventArgs e)
{
- SetFanCurvePoints(textBox1.Text);
+ try
+ {
+ SetFanCurvePoints(textBox1.Text);
+ MessageBox.Show("Save successful.");
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("An error occurred: " + ex.Message);
+ }
}
private void trackBarFanSpeed_MouseUp(object sender, MouseEventArgs e)
{
- trackBarFanSpeed_MouseCaptureChanged(sender, e);
+ trackBarSetFanSpeed();
}
- }
+ private void label1_Click(object sender, EventArgs e)
+ {
+
+ }
+
+ private void resetToDefaultsToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ Properties.Settings.Default.Reset();
+ Application.Restart();
+ Environment.Exit(0);
+ }
+
+ private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar != (char)Keys.Enter)
+ {
+ return;
+ }
+
+ try
+ {
+ SetFanCurvePoints(textBox1.Text);
+ MessageBox.Show("Save successful.");
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("An error occurred: " + ex.Message);
+ }
+ }
+
+ private void allowFanCurveSettingViaTextToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (allowFanCurveSettingViaTextToolStripMenuItem.Checked)
+ {
+ Properties.Settings.Default.allowFanCurveSettingViaText = true;
+ Properties.Settings.Default.Save();
+ button3.Enabled = true; textBox1.ReadOnly = false; button4.Enabled = true;
+ }
+ else
+ {
+ Properties.Settings.Default.allowFanCurveSettingViaText = false;
+ Properties.Settings.Default.Save();
+ button3.Enabled = false; textBox1.ReadOnly = true; button4.Enabled = false;
+ }
+ }
+
+ private void textBox1_MouseHover(object sender, EventArgs e)
+ {
+ toolTip1.Show(textBox1.Text, textBox1);
+ }
+
+ private void startWithWindowsToolStripMenuItem1_Click_1(object sender, EventArgs e)
+ {
+ if (startWithWindowsToolStripMenuItem.Checked)
+ {
+ Properties.Settings.Default.startWithWindows = true;
+ Properties.Settings.Default.Save();
+ AddToStartup();
+ }
+ else
+ {
+ Properties.Settings.Default.startWithWindows = false;
+ Properties.Settings.Default.Save();
+ RemoveFromStartup();
+ }
+ }
+
+ private void startMinimisedToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (startMinimisedToolStripMenuItem.Checked)
+ {
+ Properties.Settings.Default.startMinimised = true;
+ Properties.Settings.Default.Save();
+ }
+ else
+ {
+ Properties.Settings.Default.startMinimised = false;
+ Properties.Settings.Default.Save();
+ }
+ }
+
+ private void Form1_Shown(object sender, EventArgs e)
+ {
+ bool startMinimized = Properties.Settings.Default.startMinimised;
+ if (startMinimized)
+ {
+ MinimizeToTray();
+ }
+ }
+
+
+ //notifyIcon1.BalloonTipText = string.Join(" ", asusControl.GetFanSpeeds()) + $" Temp: {asusControl.Thermal_Read_Cpu_Temperature()}"; }
+ }
}
diff --git a/AsusFanControlGUI/Properties/Settings.Designer.cs b/AsusFanControlGUI/Properties/Settings.Designer.cs
index 2c1fa53..64e7833 100644
--- a/AsusFanControlGUI/Properties/Settings.Designer.cs
+++ b/AsusFanControlGUI/Properties/Settings.Designer.cs
@@ -82,5 +82,41 @@ namespace AsusFanControlGUI.Properties {
this["FanCurvePoints"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("False")]
+ public bool allowFanCurveSettingViaText {
+ get {
+ return ((bool)(this["allowFanCurveSettingViaText"]));
+ }
+ set {
+ this["allowFanCurveSettingViaText"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("False")]
+ public bool startWithWindows {
+ get {
+ return ((bool)(this["startWithWindows"]));
+ }
+ set {
+ this["startWithWindows"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("False")]
+ public bool startMinimised {
+ get {
+ return ((bool)(this["startMinimised"]));
+ }
+ set {
+ this["startMinimised"] = value;
+ }
+ }
}
}
diff --git a/AsusFanControlGUI/Properties/Settings.settings b/AsusFanControlGUI/Properties/Settings.settings
index 53b2b92..0cb2862 100644
--- a/AsusFanControlGUI/Properties/Settings.settings
+++ b/AsusFanControlGUI/Properties/Settings.settings
@@ -17,5 +17,14 @@
20,1-60,1-61,20-70,20-71,30-80,55
+
+ False
+
+
+ False
+
+
+ False
+
\ No newline at end of file