mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
306dfe2bd7 | ||
|
|
ca7dfff357 | ||
|
|
59288b9422 | ||
|
|
46ff8deb44 | ||
|
|
e6e8877531 | ||
|
|
b13306b989 | ||
|
|
838dc039ac | ||
|
|
0702f95e0c | ||
|
|
f42fcf2f73 | ||
|
|
6a7e1ddaa3 |
@@ -420,6 +420,7 @@ public class AsusACPI
|
||||
return DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0;
|
||||
}
|
||||
|
||||
/*
|
||||
public void ScanRange()
|
||||
{
|
||||
int value;
|
||||
@@ -437,6 +438,7 @@ public class AsusACPI
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
public void TUFKeyboardBrightness(int brightness)
|
||||
{
|
||||
|
||||
@@ -124,7 +124,8 @@ namespace GHelper
|
||||
_modes.Remove(3);
|
||||
}
|
||||
|
||||
if (AppConfig.ContainsModel("G513QY")) {
|
||||
if (AppConfig.ContainsModel("G513QY"))
|
||||
{
|
||||
return _modes;
|
||||
}
|
||||
|
||||
@@ -260,18 +261,31 @@ namespace GHelper
|
||||
{
|
||||
|
||||
byte[] msg = { AURA_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
||||
byte[] msgBackup = { INPUT_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
||||
|
||||
var devices = GetHidDevices(deviceIds);
|
||||
var devices = GetHidDevices(deviceIds, 0);
|
||||
foreach (HidDevice device in devices)
|
||||
{
|
||||
device.OpenDevice();
|
||||
device.WriteFeatureData(msg);
|
||||
Logger.WriteLine(log + ":" + BitConverter.ToString(msg));
|
||||
|
||||
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
|
||||
{
|
||||
device.WriteFeatureData(msg);
|
||||
Logger.WriteLine(log + ":" + BitConverter.ToString(msg));
|
||||
}
|
||||
|
||||
if (AppConfig.ContainsModel("GA503") && device.ReadFeatureData(out byte[] dataBackkup, INPUT_HID_ID))
|
||||
{
|
||||
device.WriteFeatureData(msgBackup);
|
||||
Logger.WriteLine(log + ":" + BitConverter.ToString(msgBackup));
|
||||
}
|
||||
|
||||
device.CloseDevice();
|
||||
}
|
||||
|
||||
// Backup payload for old models
|
||||
if (AppConfig.ContainsModel("503"))
|
||||
/*
|
||||
if (AppConfig.ContainsModel("GA503RW"))
|
||||
{
|
||||
byte[] msgBackup = { INPUT_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
||||
|
||||
@@ -283,6 +297,7 @@ namespace GHelper
|
||||
device.CloseDevice();
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
});
|
||||
|
||||
|
||||
139
app/Extra.Designer.cs
generated
139
app/Extra.Designer.cs
generated
@@ -93,6 +93,9 @@ namespace GHelper
|
||||
checkVariBright = new CheckBox();
|
||||
checkGpuApps = new CheckBox();
|
||||
checkFnLock = new CheckBox();
|
||||
panelServices = new Panel();
|
||||
labelServices = new Label();
|
||||
buttonServices = new RButton();
|
||||
groupBindings.SuspendLayout();
|
||||
tableKeys.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit();
|
||||
@@ -104,6 +107,7 @@ namespace GHelper
|
||||
panelXMG.SuspendLayout();
|
||||
tableBacklight.SuspendLayout();
|
||||
groupOther.SuspendLayout();
|
||||
panelServices.SuspendLayout();
|
||||
SuspendLayout();
|
||||
//
|
||||
// groupBindings
|
||||
@@ -380,7 +384,7 @@ namespace GHelper
|
||||
groupLight.Margin = new Padding(4, 2, 4, 2);
|
||||
groupLight.Name = "groupLight";
|
||||
groupLight.Padding = new Padding(4, 2, 4, 11);
|
||||
groupLight.Size = new Size(966, 554);
|
||||
groupLight.Size = new Size(966, 526);
|
||||
groupLight.TabIndex = 1;
|
||||
groupLight.TabStop = false;
|
||||
groupLight.Text = "Keyboard Backlight";
|
||||
@@ -398,15 +402,15 @@ namespace GHelper
|
||||
panelBacklightExtra.Controls.Add(labelSpeed);
|
||||
panelBacklightExtra.Controls.Add(comboKeyboardSpeed);
|
||||
panelBacklightExtra.Dock = DockStyle.Top;
|
||||
panelBacklightExtra.Location = new Point(4, 315);
|
||||
panelBacklightExtra.Location = new Point(4, 299);
|
||||
panelBacklightExtra.Margin = new Padding(4, 2, 4, 2);
|
||||
panelBacklightExtra.Name = "panelBacklightExtra";
|
||||
panelBacklightExtra.Size = new Size(958, 228);
|
||||
panelBacklightExtra.Size = new Size(958, 216);
|
||||
panelBacklightExtra.TabIndex = 43;
|
||||
//
|
||||
// numericBacklightPluggedTime
|
||||
//
|
||||
numericBacklightPluggedTime.Location = new Point(702, 181);
|
||||
numericBacklightPluggedTime.Location = new Point(702, 169);
|
||||
numericBacklightPluggedTime.Margin = new Padding(4, 2, 4, 2);
|
||||
numericBacklightPluggedTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
||||
numericBacklightPluggedTime.Name = "numericBacklightPluggedTime";
|
||||
@@ -415,7 +419,7 @@ namespace GHelper
|
||||
//
|
||||
// labelBacklightTimeoutPlugged
|
||||
//
|
||||
labelBacklightTimeoutPlugged.Location = new Point(13, 183);
|
||||
labelBacklightTimeoutPlugged.Location = new Point(13, 171);
|
||||
labelBacklightTimeoutPlugged.Margin = new Padding(4, 0, 4, 0);
|
||||
labelBacklightTimeoutPlugged.Name = "labelBacklightTimeoutPlugged";
|
||||
labelBacklightTimeoutPlugged.Size = new Size(683, 45);
|
||||
@@ -424,7 +428,7 @@ namespace GHelper
|
||||
//
|
||||
// numericBacklightTime
|
||||
//
|
||||
numericBacklightTime.Location = new Point(702, 132);
|
||||
numericBacklightTime.Location = new Point(702, 120);
|
||||
numericBacklightTime.Margin = new Padding(4, 2, 4, 2);
|
||||
numericBacklightTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
||||
numericBacklightTime.Name = "numericBacklightTime";
|
||||
@@ -433,7 +437,7 @@ namespace GHelper
|
||||
//
|
||||
// labelBacklightTimeout
|
||||
//
|
||||
labelBacklightTimeout.Location = new Point(13, 134);
|
||||
labelBacklightTimeout.Location = new Point(13, 122);
|
||||
labelBacklightTimeout.Margin = new Padding(4, 0, 4, 0);
|
||||
labelBacklightTimeout.Name = "labelBacklightTimeout";
|
||||
labelBacklightTimeout.Size = new Size(683, 45);
|
||||
@@ -452,7 +456,7 @@ namespace GHelper
|
||||
// trackBrightness
|
||||
//
|
||||
trackBrightness.LargeChange = 1;
|
||||
trackBrightness.Location = new Point(355, 60);
|
||||
trackBrightness.Location = new Point(355, 59);
|
||||
trackBrightness.Margin = new Padding(4, 2, 4, 2);
|
||||
trackBrightness.Maximum = 3;
|
||||
trackBrightness.Name = "trackBrightness";
|
||||
@@ -462,7 +466,7 @@ namespace GHelper
|
||||
//
|
||||
// labelSpeed
|
||||
//
|
||||
labelSpeed.Location = new Point(13, 15);
|
||||
labelSpeed.Location = new Point(13, 18);
|
||||
labelSpeed.Margin = new Padding(4, 0, 4, 0);
|
||||
labelSpeed.Name = "labelSpeed";
|
||||
labelSpeed.Size = new Size(539, 41);
|
||||
@@ -478,7 +482,7 @@ namespace GHelper
|
||||
comboKeyboardSpeed.FormattingEnabled = true;
|
||||
comboKeyboardSpeed.ItemHeight = 32;
|
||||
comboKeyboardSpeed.Items.AddRange(new object[] { "Slow", "Normal", "Fast" });
|
||||
comboKeyboardSpeed.Location = new Point(607, 15);
|
||||
comboKeyboardSpeed.Location = new Point(607, 16);
|
||||
comboKeyboardSpeed.Margin = new Padding(4, 11, 4, 9);
|
||||
comboKeyboardSpeed.Name = "comboKeyboardSpeed";
|
||||
comboKeyboardSpeed.Size = new Size(292, 40);
|
||||
@@ -489,7 +493,7 @@ namespace GHelper
|
||||
//
|
||||
panelXMG.Controls.Add(checkXMG);
|
||||
panelXMG.Dock = DockStyle.Top;
|
||||
panelXMG.Location = new Point(4, 257);
|
||||
panelXMG.Location = new Point(4, 241);
|
||||
panelXMG.Margin = new Padding(4, 2, 4, 2);
|
||||
panelXMG.Name = "panelXMG";
|
||||
panelXMG.Size = new Size(958, 58);
|
||||
@@ -545,7 +549,7 @@ namespace GHelper
|
||||
tableBacklight.RowStyles.Add(new RowStyle());
|
||||
tableBacklight.RowStyles.Add(new RowStyle());
|
||||
tableBacklight.RowStyles.Add(new RowStyle());
|
||||
tableBacklight.Size = new Size(958, 223);
|
||||
tableBacklight.Size = new Size(958, 207);
|
||||
tableBacklight.TabIndex = 41;
|
||||
//
|
||||
// labelBacklight
|
||||
@@ -563,8 +567,8 @@ namespace GHelper
|
||||
// checkAwake
|
||||
//
|
||||
checkAwake.Dock = DockStyle.Fill;
|
||||
checkAwake.Location = new Point(4, 45);
|
||||
checkAwake.Margin = new Padding(4, 2, 4, 2);
|
||||
checkAwake.Location = new Point(4, 43);
|
||||
checkAwake.Margin = new Padding(4, 0, 4, 0);
|
||||
checkAwake.Name = "checkAwake";
|
||||
checkAwake.Padding = new Padding(15, 2, 6, 2);
|
||||
checkAwake.Size = new Size(231, 41);
|
||||
@@ -575,8 +579,8 @@ namespace GHelper
|
||||
// checkBoot
|
||||
//
|
||||
checkBoot.Dock = DockStyle.Fill;
|
||||
checkBoot.Location = new Point(4, 90);
|
||||
checkBoot.Margin = new Padding(4, 2, 4, 2);
|
||||
checkBoot.Location = new Point(4, 84);
|
||||
checkBoot.Margin = new Padding(4, 0, 4, 0);
|
||||
checkBoot.Name = "checkBoot";
|
||||
checkBoot.Padding = new Padding(15, 2, 6, 2);
|
||||
checkBoot.Size = new Size(231, 41);
|
||||
@@ -587,8 +591,8 @@ namespace GHelper
|
||||
// checkSleep
|
||||
//
|
||||
checkSleep.Dock = DockStyle.Fill;
|
||||
checkSleep.Location = new Point(4, 135);
|
||||
checkSleep.Margin = new Padding(4, 2, 4, 2);
|
||||
checkSleep.Location = new Point(4, 125);
|
||||
checkSleep.Margin = new Padding(4, 0, 4, 0);
|
||||
checkSleep.Name = "checkSleep";
|
||||
checkSleep.Padding = new Padding(15, 2, 6, 2);
|
||||
checkSleep.Size = new Size(231, 41);
|
||||
@@ -599,8 +603,8 @@ namespace GHelper
|
||||
// checkShutdown
|
||||
//
|
||||
checkShutdown.Dock = DockStyle.Fill;
|
||||
checkShutdown.Location = new Point(4, 180);
|
||||
checkShutdown.Margin = new Padding(4, 2, 4, 2);
|
||||
checkShutdown.Location = new Point(4, 166);
|
||||
checkShutdown.Margin = new Padding(4, 0, 4, 0);
|
||||
checkShutdown.Name = "checkShutdown";
|
||||
checkShutdown.Padding = new Padding(15, 2, 6, 2);
|
||||
checkShutdown.Size = new Size(231, 41);
|
||||
@@ -623,8 +627,8 @@ namespace GHelper
|
||||
// checkAwakeLogo
|
||||
//
|
||||
checkAwakeLogo.Dock = DockStyle.Fill;
|
||||
checkAwakeLogo.Location = new Point(243, 45);
|
||||
checkAwakeLogo.Margin = new Padding(4, 2, 4, 2);
|
||||
checkAwakeLogo.Location = new Point(243, 43);
|
||||
checkAwakeLogo.Margin = new Padding(4, 0, 4, 0);
|
||||
checkAwakeLogo.Name = "checkAwakeLogo";
|
||||
checkAwakeLogo.Padding = new Padding(15, 2, 6, 2);
|
||||
checkAwakeLogo.Size = new Size(231, 41);
|
||||
@@ -635,8 +639,8 @@ namespace GHelper
|
||||
// checkBootLogo
|
||||
//
|
||||
checkBootLogo.Dock = DockStyle.Fill;
|
||||
checkBootLogo.Location = new Point(243, 90);
|
||||
checkBootLogo.Margin = new Padding(4, 2, 4, 2);
|
||||
checkBootLogo.Location = new Point(243, 84);
|
||||
checkBootLogo.Margin = new Padding(4, 0, 4, 0);
|
||||
checkBootLogo.Name = "checkBootLogo";
|
||||
checkBootLogo.Padding = new Padding(15, 2, 6, 2);
|
||||
checkBootLogo.Size = new Size(231, 41);
|
||||
@@ -647,8 +651,8 @@ namespace GHelper
|
||||
// checkSleepLogo
|
||||
//
|
||||
checkSleepLogo.Dock = DockStyle.Fill;
|
||||
checkSleepLogo.Location = new Point(243, 135);
|
||||
checkSleepLogo.Margin = new Padding(4, 2, 4, 2);
|
||||
checkSleepLogo.Location = new Point(243, 125);
|
||||
checkSleepLogo.Margin = new Padding(4, 0, 4, 0);
|
||||
checkSleepLogo.Name = "checkSleepLogo";
|
||||
checkSleepLogo.Padding = new Padding(15, 2, 6, 2);
|
||||
checkSleepLogo.Size = new Size(231, 41);
|
||||
@@ -659,8 +663,8 @@ namespace GHelper
|
||||
// checkShutdownLogo
|
||||
//
|
||||
checkShutdownLogo.Dock = DockStyle.Fill;
|
||||
checkShutdownLogo.Location = new Point(243, 180);
|
||||
checkShutdownLogo.Margin = new Padding(4, 2, 4, 2);
|
||||
checkShutdownLogo.Location = new Point(243, 166);
|
||||
checkShutdownLogo.Margin = new Padding(4, 0, 4, 0);
|
||||
checkShutdownLogo.Name = "checkShutdownLogo";
|
||||
checkShutdownLogo.Padding = new Padding(15, 2, 6, 2);
|
||||
checkShutdownLogo.Size = new Size(231, 41);
|
||||
@@ -683,8 +687,8 @@ namespace GHelper
|
||||
// checkAwakeBar
|
||||
//
|
||||
checkAwakeBar.Dock = DockStyle.Fill;
|
||||
checkAwakeBar.Location = new Point(482, 45);
|
||||
checkAwakeBar.Margin = new Padding(4, 2, 4, 2);
|
||||
checkAwakeBar.Location = new Point(482, 43);
|
||||
checkAwakeBar.Margin = new Padding(4, 0, 4, 0);
|
||||
checkAwakeBar.Name = "checkAwakeBar";
|
||||
checkAwakeBar.Padding = new Padding(15, 2, 6, 2);
|
||||
checkAwakeBar.Size = new Size(231, 41);
|
||||
@@ -695,8 +699,8 @@ namespace GHelper
|
||||
// checkBootBar
|
||||
//
|
||||
checkBootBar.Dock = DockStyle.Fill;
|
||||
checkBootBar.Location = new Point(482, 90);
|
||||
checkBootBar.Margin = new Padding(4, 2, 4, 2);
|
||||
checkBootBar.Location = new Point(482, 84);
|
||||
checkBootBar.Margin = new Padding(4, 0, 4, 0);
|
||||
checkBootBar.Name = "checkBootBar";
|
||||
checkBootBar.Padding = new Padding(15, 2, 6, 2);
|
||||
checkBootBar.Size = new Size(231, 41);
|
||||
@@ -707,8 +711,8 @@ namespace GHelper
|
||||
// checkSleepBar
|
||||
//
|
||||
checkSleepBar.Dock = DockStyle.Fill;
|
||||
checkSleepBar.Location = new Point(482, 135);
|
||||
checkSleepBar.Margin = new Padding(4, 2, 4, 2);
|
||||
checkSleepBar.Location = new Point(482, 125);
|
||||
checkSleepBar.Margin = new Padding(4, 0, 4, 0);
|
||||
checkSleepBar.Name = "checkSleepBar";
|
||||
checkSleepBar.Padding = new Padding(15, 2, 6, 2);
|
||||
checkSleepBar.Size = new Size(231, 41);
|
||||
@@ -719,8 +723,8 @@ namespace GHelper
|
||||
// checkShutdownBar
|
||||
//
|
||||
checkShutdownBar.Dock = DockStyle.Fill;
|
||||
checkShutdownBar.Location = new Point(482, 180);
|
||||
checkShutdownBar.Margin = new Padding(4, 2, 4, 2);
|
||||
checkShutdownBar.Location = new Point(482, 166);
|
||||
checkShutdownBar.Margin = new Padding(4, 0, 4, 0);
|
||||
checkShutdownBar.Name = "checkShutdownBar";
|
||||
checkShutdownBar.Padding = new Padding(15, 2, 6, 2);
|
||||
checkShutdownBar.Size = new Size(231, 41);
|
||||
@@ -743,8 +747,8 @@ namespace GHelper
|
||||
// checkAwakeLid
|
||||
//
|
||||
checkAwakeLid.Dock = DockStyle.Fill;
|
||||
checkAwakeLid.Location = new Point(721, 45);
|
||||
checkAwakeLid.Margin = new Padding(4, 2, 4, 2);
|
||||
checkAwakeLid.Location = new Point(721, 43);
|
||||
checkAwakeLid.Margin = new Padding(4, 0, 4, 0);
|
||||
checkAwakeLid.Name = "checkAwakeLid";
|
||||
checkAwakeLid.Padding = new Padding(15, 2, 6, 2);
|
||||
checkAwakeLid.Size = new Size(233, 41);
|
||||
@@ -755,8 +759,8 @@ namespace GHelper
|
||||
// checkBootLid
|
||||
//
|
||||
checkBootLid.Dock = DockStyle.Fill;
|
||||
checkBootLid.Location = new Point(721, 90);
|
||||
checkBootLid.Margin = new Padding(4, 2, 4, 2);
|
||||
checkBootLid.Location = new Point(721, 84);
|
||||
checkBootLid.Margin = new Padding(4, 0, 4, 0);
|
||||
checkBootLid.Name = "checkBootLid";
|
||||
checkBootLid.Padding = new Padding(15, 2, 6, 2);
|
||||
checkBootLid.Size = new Size(233, 41);
|
||||
@@ -767,8 +771,8 @@ namespace GHelper
|
||||
// checkSleepLid
|
||||
//
|
||||
checkSleepLid.Dock = DockStyle.Fill;
|
||||
checkSleepLid.Location = new Point(721, 135);
|
||||
checkSleepLid.Margin = new Padding(4, 2, 4, 2);
|
||||
checkSleepLid.Location = new Point(721, 125);
|
||||
checkSleepLid.Margin = new Padding(4, 0, 4, 0);
|
||||
checkSleepLid.Name = "checkSleepLid";
|
||||
checkSleepLid.Padding = new Padding(15, 2, 6, 2);
|
||||
checkSleepLid.Size = new Size(233, 41);
|
||||
@@ -779,8 +783,8 @@ namespace GHelper
|
||||
// checkShutdownLid
|
||||
//
|
||||
checkShutdownLid.Dock = DockStyle.Fill;
|
||||
checkShutdownLid.Location = new Point(721, 180);
|
||||
checkShutdownLid.Margin = new Padding(4, 2, 4, 2);
|
||||
checkShutdownLid.Location = new Point(721, 166);
|
||||
checkShutdownLid.Margin = new Padding(4, 0, 4, 0);
|
||||
checkShutdownLid.Name = "checkShutdownLid";
|
||||
checkShutdownLid.Padding = new Padding(15, 2, 6, 2);
|
||||
checkShutdownLid.Size = new Size(233, 41);
|
||||
@@ -800,7 +804,7 @@ namespace GHelper
|
||||
groupOther.Controls.Add(checkGpuApps);
|
||||
groupOther.Controls.Add(checkFnLock);
|
||||
groupOther.Dock = DockStyle.Top;
|
||||
groupOther.Location = new Point(9, 908);
|
||||
groupOther.Location = new Point(9, 880);
|
||||
groupOther.Margin = new Padding(4, 2, 4, 2);
|
||||
groupOther.Name = "groupOther";
|
||||
groupOther.Padding = new Padding(20, 2, 4, 10);
|
||||
@@ -894,13 +898,51 @@ namespace GHelper
|
||||
checkFnLock.Text = "Process Fn+F hotkeys without Fn";
|
||||
checkFnLock.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// panelServices
|
||||
//
|
||||
panelServices.Controls.Add(labelServices);
|
||||
panelServices.Controls.Add(buttonServices);
|
||||
panelServices.Dock = DockStyle.Top;
|
||||
panelServices.Location = new Point(9, 1176);
|
||||
panelServices.Name = "panelServices";
|
||||
panelServices.Size = new Size(966, 72);
|
||||
panelServices.TabIndex = 3;
|
||||
//
|
||||
// labelServices
|
||||
//
|
||||
labelServices.AutoSize = true;
|
||||
labelServices.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelServices.Location = new Point(23, 19);
|
||||
labelServices.Name = "labelServices";
|
||||
labelServices.Size = new Size(273, 32);
|
||||
labelServices.TabIndex = 20;
|
||||
labelServices.Text = "Asus Services Running";
|
||||
//
|
||||
// buttonServices
|
||||
//
|
||||
buttonServices.Activated = false;
|
||||
buttonServices.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
|
||||
buttonServices.BackColor = SystemColors.ControlLight;
|
||||
buttonServices.BorderColor = Color.Transparent;
|
||||
buttonServices.BorderRadius = 2;
|
||||
buttonServices.FlatStyle = FlatStyle.Flat;
|
||||
buttonServices.Location = new Point(695, 14);
|
||||
buttonServices.Margin = new Padding(4, 2, 4, 2);
|
||||
buttonServices.Name = "buttonServices";
|
||||
buttonServices.Secondary = true;
|
||||
buttonServices.Size = new Size(250, 44);
|
||||
buttonServices.TabIndex = 19;
|
||||
buttonServices.Text = "Start Services";
|
||||
buttonServices.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// Extra
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(13F, 32F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
AutoSize = true;
|
||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
ClientSize = new Size(984, 1244);
|
||||
ClientSize = new Size(984, 1262);
|
||||
Controls.Add(panelServices);
|
||||
Controls.Add(groupOther);
|
||||
Controls.Add(groupLight);
|
||||
Controls.Add(groupBindings);
|
||||
@@ -931,6 +973,8 @@ namespace GHelper
|
||||
tableBacklight.ResumeLayout(false);
|
||||
groupOther.ResumeLayout(false);
|
||||
groupOther.PerformLayout();
|
||||
panelServices.ResumeLayout(false);
|
||||
panelServices.PerformLayout();
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
@@ -999,5 +1043,8 @@ namespace GHelper
|
||||
private RComboBox comboFNC;
|
||||
private TextBox textFNC;
|
||||
private CheckBox checkVariBright;
|
||||
private Panel panelServices;
|
||||
private RButton buttonServices;
|
||||
private Label labelServices;
|
||||
}
|
||||
}
|
||||
57
app/Extra.cs
57
app/Extra.cs
@@ -1,6 +1,5 @@
|
||||
using CustomControls;
|
||||
using GHelper.Gpu;
|
||||
using Microsoft.VisualBasic.Devices;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace GHelper
|
||||
@@ -19,6 +18,8 @@ namespace GHelper
|
||||
{"screen", Properties.Strings.ToggleScreen},
|
||||
{"miniled", Properties.Strings.ToggleMiniled},
|
||||
{"fnlock", Properties.Strings.ToggleFnLock},
|
||||
{"brightness_down", Properties.Strings.BrightnessDown},
|
||||
{"brightness_up", Properties.Strings.BrightnessUp},
|
||||
{"custom", Properties.Strings.Custom}
|
||||
};
|
||||
|
||||
@@ -229,7 +230,61 @@ namespace GHelper
|
||||
|
||||
pictureHelp.Click += PictureHelp_Click;
|
||||
|
||||
buttonServices.Click += ButtonServices_Click;
|
||||
|
||||
InitVariBright();
|
||||
InitServices();
|
||||
}
|
||||
|
||||
|
||||
private void InitServices()
|
||||
{
|
||||
if (OptimizationService.IsRunning()) buttonServices.Text = Properties.Strings.Stop;
|
||||
else buttonServices.Text = Properties.Strings.Start;
|
||||
|
||||
labelServices.Text = Properties.Strings.AsusServicesRunning + ": " + OptimizationService.GetRunningCount();
|
||||
buttonServices.Enabled = true;
|
||||
|
||||
Program.inputDispatcher.Init();
|
||||
|
||||
}
|
||||
|
||||
public void ServiesToggle()
|
||||
{
|
||||
buttonServices.Enabled = false;
|
||||
|
||||
if (OptimizationService.IsRunning())
|
||||
{
|
||||
labelServices.Text = Properties.Strings.StoppingServices + " ...";
|
||||
Task.Run(() =>
|
||||
{
|
||||
OptimizationService.StopAsusServices();
|
||||
BeginInvoke(delegate
|
||||
{
|
||||
InitServices();
|
||||
});
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
labelServices.Text = Properties.Strings.StartingServices + " ...";
|
||||
Task.Run(() =>
|
||||
{
|
||||
OptimizationService.StartAsusServices();
|
||||
BeginInvoke(delegate
|
||||
{
|
||||
InitServices();
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void ButtonServices_Click(object? sender, EventArgs e)
|
||||
{
|
||||
if (ProcessHelper.IsUserAdministrator())
|
||||
ServiesToggle();
|
||||
else
|
||||
ProcessHelper.RunAsAdmin("services");
|
||||
}
|
||||
|
||||
private void InitVariBright()
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<AssemblyVersion>0.80</AssemblyVersion>
|
||||
<AssemblyVersion>0.81</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
@@ -91,43 +91,6 @@ public class NvidiaGpuControl : IGpuControl
|
||||
|
||||
}
|
||||
|
||||
private static void RunCMD(string name, string args)
|
||||
{
|
||||
var cmd = new Process();
|
||||
cmd.StartInfo.UseShellExecute = false;
|
||||
cmd.StartInfo.CreateNoWindow = true;
|
||||
cmd.StartInfo.RedirectStandardOutput = true;
|
||||
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
cmd.StartInfo.FileName = name;
|
||||
cmd.StartInfo.Arguments = args;
|
||||
cmd.Start();
|
||||
Logger.WriteLine(cmd.StandardOutput.ReadToEnd());
|
||||
cmd.WaitForExit();
|
||||
}
|
||||
|
||||
|
||||
public bool RestartGPUPnP()
|
||||
{
|
||||
|
||||
if (!IsValid) return false;
|
||||
|
||||
try
|
||||
{
|
||||
PhysicalGPU internalGpu = _internalGpu!;
|
||||
var pnpDeviceId = internalGpu.BusInformation.PCIIdentifiers.ToString();
|
||||
Logger.WriteLine("Device ID:" + pnpDeviceId);
|
||||
RunCMD("pnputil", $"/disable-device /deviceid \"{pnpDeviceId}\"");
|
||||
Thread.Sleep(3000);
|
||||
RunCMD("pnputil", $"/enable-device /deviceid \"{pnpDeviceId}\"");
|
||||
Thread.Sleep(2000);
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.WriteLine(ex.ToString());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public bool RestartGPU()
|
||||
{
|
||||
@@ -135,7 +98,7 @@ public class NvidiaGpuControl : IGpuControl
|
||||
{
|
||||
string script = @"$device = Get-PnpDevice | Where-Object { $_.FriendlyName -imatch 'NVIDIA' -and $_.Class -eq 'Display' }; Disable-PnpDevice $device.InstanceId -Confirm:$false; Start-Sleep -Seconds 3; Enable-PnpDevice $device.InstanceId -Confirm:$false";
|
||||
Logger.WriteLine(script);
|
||||
RunCMD("powershell", script);
|
||||
ProcessHelper.RunCMD("powershell", script);
|
||||
//Thread.Sleep(2000);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -339,6 +339,12 @@ namespace GHelper
|
||||
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, muteStatus ? "Muted" : "Unmuted", muteStatus ? ToastIcon.MicrophoneMute : ToastIcon.Microphone);
|
||||
}
|
||||
break;
|
||||
case "brightness_up":
|
||||
OptimizationEvent(32);
|
||||
break;
|
||||
case "brightness_down":
|
||||
OptimizationEvent(16);
|
||||
break;
|
||||
case "custom":
|
||||
CustomKey(name);
|
||||
break;
|
||||
|
||||
@@ -1,13 +1,27 @@
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Text;
|
||||
using Microsoft.Win32;
|
||||
using System.Diagnostics;
|
||||
using Microsoft.Win32;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace GHelper
|
||||
{
|
||||
public static class OptimizationService
|
||||
{
|
||||
public static void SetChargeLimit (int newValue)
|
||||
|
||||
static List<string> services = new() {
|
||||
"AsusAppService",
|
||||
"ASUSLinkNear",
|
||||
"ASUSLinkRemote",
|
||||
"ASUSSoftwareManager",
|
||||
"ASUSSwitch",
|
||||
"ASUSSystemAnalysis",
|
||||
"ASUSSystemDiagnosis",
|
||||
"ArmouryCrateControlInterface",
|
||||
"AsusCertService",
|
||||
"ASUSOptimization"
|
||||
};
|
||||
|
||||
public static void SetChargeLimit(int newValue)
|
||||
{
|
||||
// Set the path to the .ini file
|
||||
string path = @"C:\ProgramData\ASUS\ASUS System Control Interface\ASUSOptimization\Customization.ini";
|
||||
@@ -41,8 +55,18 @@ namespace GHelper
|
||||
return (Process.GetProcessesByName("AsusOptimization").Count() > 0);
|
||||
}
|
||||
|
||||
public static int GetRunningCount()
|
||||
{
|
||||
int count = 0;
|
||||
foreach (string service in services)
|
||||
{
|
||||
if (Process.GetProcessesByName(service).Count() > 0) count++;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
public static void SetBacklightOffDelay(int value = 60)
|
||||
|
||||
public static void SetBacklightOffDelay(int value = 60)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -60,6 +84,23 @@ namespace GHelper
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void StopAsusServices()
|
||||
{
|
||||
foreach (string service in services)
|
||||
{
|
||||
ProcessHelper.StopDisableService(service);
|
||||
}
|
||||
}
|
||||
|
||||
public static void StartAsusServices()
|
||||
{
|
||||
foreach (string service in services)
|
||||
{
|
||||
ProcessHelper.StartEnableService(service);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -92,6 +92,48 @@ namespace GHelper
|
||||
}
|
||||
}
|
||||
|
||||
public static void StopDisableService(string serviceName)
|
||||
{
|
||||
try
|
||||
{
|
||||
string script = $"Set-Service -Name \"{serviceName}\" -Status stopped -StartupType disabled";
|
||||
Logger.WriteLine(script);
|
||||
RunCMD("powershell", script);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.WriteLine(ex.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public static void StartEnableService(string serviceName)
|
||||
{
|
||||
try
|
||||
{
|
||||
string script = $"Set-Service -Name \"{serviceName}\" -Status running -StartupType Automatic";
|
||||
Logger.WriteLine(script);
|
||||
RunCMD("powershell", script);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.WriteLine(ex.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public static void RunCMD(string name, string args)
|
||||
{
|
||||
var cmd = new Process();
|
||||
cmd.StartInfo.UseShellExecute = false;
|
||||
cmd.StartInfo.CreateNoWindow = true;
|
||||
cmd.StartInfo.RedirectStandardOutput = true;
|
||||
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
cmd.StartInfo.FileName = name;
|
||||
cmd.StartInfo.Arguments = args;
|
||||
cmd.Start();
|
||||
Logger.WriteLine(cmd.StandardOutput.ReadToEnd());
|
||||
cmd.WaitForExit();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Reflection;
|
||||
using System.Security.Principal;
|
||||
using System.Windows.Forms;
|
||||
using static NativeMethods;
|
||||
|
||||
namespace GHelper
|
||||
@@ -135,7 +136,7 @@ namespace GHelper
|
||||
|
||||
|
||||
|
||||
public static void SetAutoModes()
|
||||
public static void SetAutoModes(bool powerChanged = false)
|
||||
{
|
||||
|
||||
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAuto) < 3000) return;
|
||||
@@ -147,7 +148,7 @@ namespace GHelper
|
||||
inputDispatcher.Init();
|
||||
|
||||
settingsForm.SetBatteryChargeLimit(AppConfig.getConfig("charge_limit"));
|
||||
settingsForm.AutoPerformance();
|
||||
settingsForm.AutoPerformance(powerChanged);
|
||||
|
||||
bool switched = settingsForm.AutoGPUMode();
|
||||
|
||||
@@ -163,11 +164,9 @@ namespace GHelper
|
||||
|
||||
private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
|
||||
{
|
||||
|
||||
if (SystemInformation.PowerStatus.PowerLineStatus == isPlugged) return;
|
||||
|
||||
Logger.WriteLine("Power Mode Changed");
|
||||
SetAutoModes();
|
||||
SetAutoModes(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -190,6 +189,11 @@ namespace GHelper
|
||||
case "gpurestart":
|
||||
settingsForm.RestartGPU(false);
|
||||
break;
|
||||
case "services":
|
||||
settingsForm.keyb = new Extra();
|
||||
settingsForm.keyb.Show();
|
||||
settingsForm.keyb.ServiesToggle();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
20
app/Properties/Resources.Designer.cs
generated
20
app/Properties/Resources.Designer.cs
generated
@@ -130,6 +130,16 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap icons8_charged_battery_96 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("icons8_charged_battery_96", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@@ -140,6 +150,16 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap icons8_electrical_96 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("icons8_electrical_96", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
||||
@@ -238,4 +238,10 @@
|
||||
<data name="icons8-software-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-software-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_charged_battery_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-charged-battery-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_electrical_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-electrical-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
63
app/Properties/Strings.Designer.cs
generated
63
app/Properties/Strings.Designer.cs
generated
@@ -177,6 +177,15 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Asus Services Running.
|
||||
/// </summary>
|
||||
internal static string AsusServicesRunning {
|
||||
get {
|
||||
return ResourceManager.GetString("AsusServicesRunning", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Breathe.
|
||||
/// </summary>
|
||||
@@ -339,6 +348,24 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Brightness Down.
|
||||
/// </summary>
|
||||
internal static string BrightnessDown {
|
||||
get {
|
||||
return ResourceManager.GetString("BrightnessDown", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Brightness Up.
|
||||
/// </summary>
|
||||
internal static string BrightnessUp {
|
||||
get {
|
||||
return ResourceManager.GetString("BrightnessUp", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Color.
|
||||
/// </summary>
|
||||
@@ -1023,6 +1050,24 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Start.
|
||||
/// </summary>
|
||||
internal static string Start {
|
||||
get {
|
||||
return ResourceManager.GetString("Start", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Starting Services.
|
||||
/// </summary>
|
||||
internal static string StartingServices {
|
||||
get {
|
||||
return ResourceManager.GetString("StartingServices", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Startup Error.
|
||||
/// </summary>
|
||||
@@ -1032,6 +1077,24 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Stop.
|
||||
/// </summary>
|
||||
internal static string Stop {
|
||||
get {
|
||||
return ResourceManager.GetString("Stop", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Stopping Services.
|
||||
/// </summary>
|
||||
internal static string StoppingServices {
|
||||
get {
|
||||
return ResourceManager.GetString("StoppingServices", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Toggle Aura.
|
||||
/// </summary>
|
||||
|
||||
@@ -201,12 +201,21 @@
|
||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||
<value>Límite de carga</value>
|
||||
</data>
|
||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||
<value>Actualizaciones de BIOS y Drivers</value>
|
||||
</data>
|
||||
<data name="Boot" xml:space="preserve">
|
||||
<value>Al arrancar</value>
|
||||
</data>
|
||||
<data name="Brightness" xml:space="preserve">
|
||||
<value>Brillo</value>
|
||||
</data>
|
||||
<data name="BrightnessDown" xml:space="preserve">
|
||||
<value>Bajar brillo</value>
|
||||
</data>
|
||||
<data name="BrightnessUp" xml:space="preserve">
|
||||
<value>Subir brillo</value>
|
||||
</data>
|
||||
<data name="Color" xml:space="preserve">
|
||||
<value>Color</value>
|
||||
</data>
|
||||
@@ -228,6 +237,9 @@
|
||||
<data name="DownloadUpdate" xml:space="preserve">
|
||||
<value>Descargar actualización</value>
|
||||
</data>
|
||||
<data name="DriverAndSoftware" xml:space="preserve">
|
||||
<value>Drivers y Software</value>
|
||||
</data>
|
||||
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||
<value>Deshabilita la dGPU para ahorrar batería</value>
|
||||
</data>
|
||||
@@ -462,6 +474,9 @@
|
||||
<data name="UltimateMode" xml:space="preserve">
|
||||
<value>Ultimate</value>
|
||||
</data>
|
||||
<data name="Updates" xml:space="preserve">
|
||||
<value>Actualizaciones</value>
|
||||
</data>
|
||||
<data name="VersionLabel" xml:space="preserve">
|
||||
<value>Versión</value>
|
||||
</data>
|
||||
|
||||
489
app/Properties/Strings.kr.resx
Normal file
489
app/Properties/Strings.kr.resx
Normal file
@@ -0,0 +1,489 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="ACPIError" xml:space="preserve">
|
||||
<value>ASUS ACPI에 연결할 수 없어 응용 프로그램이 작동하지 않습니다. Asus System Control Interface를 먼저 설치하십시오.</value>
|
||||
</data>
|
||||
<data name="AlertDGPU" xml:space="preserve">
|
||||
<value>GPU 사용량이 높습니다. 비활성화 하시겠습니까?</value>
|
||||
</data>
|
||||
<data name="AlertDGPUTitle" xml:space="preserve">
|
||||
<value>Eco 모드</value>
|
||||
</data>
|
||||
<data name="AlertUltimateOff" xml:space="preserve">
|
||||
<value>Ultimate 모드를 끄기 위해서는 다시 시작해야 합니다.</value>
|
||||
</data>
|
||||
<data name="AlertUltimateOn" xml:space="preserve">
|
||||
<value>Ultimate 모드를 켜기 위해서는 다시 시작해야 합니다.</value>
|
||||
</data>
|
||||
<data name="AlertUltimateTitle" xml:space="preserve">
|
||||
<value>다시 시작하시겠습니까?</value>
|
||||
</data>
|
||||
<data name="AnimationSpeed" xml:space="preserve">
|
||||
<value>애니메이션 속도</value>
|
||||
</data>
|
||||
<data name="AnimeMatrix" xml:space="preserve">
|
||||
<value>Anime Matrix</value>
|
||||
</data>
|
||||
<data name="AppAlreadyRunning" xml:space="preserve">
|
||||
<value>프로그램이 이미 실행중입니다.</value>
|
||||
</data>
|
||||
<data name="AppAlreadyRunningText" xml:space="preserve">
|
||||
<value>G-Helper가 이미 실행중입니다. 시스템 트레이에서 아이콘을 확인하십시오.</value>
|
||||
</data>
|
||||
<data name="ApplyFanCurve" xml:space="preserve">
|
||||
<value>사용자 설정 팬 커브 적용</value>
|
||||
</data>
|
||||
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||
<value>전력 제한 적용</value>
|
||||
</data>
|
||||
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||
<value>윈도우 전원 모드 자동조절</value>
|
||||
</data>
|
||||
<data name="AuraBreathe" xml:space="preserve">
|
||||
<value>Breathe</value>
|
||||
</data>
|
||||
<data name="AuraColorCycle" xml:space="preserve">
|
||||
<value>Color Cycle</value>
|
||||
</data>
|
||||
<data name="AuraFast" xml:space="preserve">
|
||||
<value>빠르게</value>
|
||||
</data>
|
||||
<data name="AuraNormal" xml:space="preserve">
|
||||
<value>보통</value>
|
||||
</data>
|
||||
<data name="AuraRainbow" xml:space="preserve">
|
||||
<value>Rainbow</value>
|
||||
</data>
|
||||
<data name="AuraSlow" xml:space="preserve">
|
||||
<value>느리게</value>
|
||||
</data>
|
||||
<data name="AuraStatic" xml:space="preserve">
|
||||
<value>Static</value>
|
||||
</data>
|
||||
<data name="AuraStrobe" xml:space="preserve">
|
||||
<value>Strobe</value>
|
||||
</data>
|
||||
<data name="AutoMode" xml:space="preserve">
|
||||
<value>자동</value>
|
||||
</data>
|
||||
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||
<value>배터리 사용 중에만 60Hz 설정</value>
|
||||
</data>
|
||||
<data name="Awake" xml:space="preserve">
|
||||
<value>Awake</value>
|
||||
</data>
|
||||
<data name="BacklightTimeout" xml:space="preserve">
|
||||
<value>배터리 사용 중 백라이트 자동 꺼짐</value>
|
||||
</data>
|
||||
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
||||
<value>전원 연결 시 백라이트 자동 꺼짐 (0 - 항상 켜짐)</value>
|
||||
</data>
|
||||
<data name="Balanced" xml:space="preserve">
|
||||
<value>균형</value>
|
||||
</data>
|
||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||
<value>배터리 충전 제한</value>
|
||||
</data>
|
||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||
<value>바이오스/드라이버 업데이트</value>
|
||||
</data>
|
||||
<data name="Boot" xml:space="preserve">
|
||||
<value>Boot</value>
|
||||
</data>
|
||||
<data name="Brightness" xml:space="preserve">
|
||||
<value>밝기</value>
|
||||
</data>
|
||||
<data name="Color" xml:space="preserve">
|
||||
<value>색상</value>
|
||||
</data>
|
||||
<data name="CPUBoost" xml:space="preserve">
|
||||
<value>CPU 부스트</value>
|
||||
</data>
|
||||
<data name="Custom" xml:space="preserve">
|
||||
<value>사용자 설정</value>
|
||||
</data>
|
||||
<data name="Default" xml:space="preserve">
|
||||
<value>기본</value>
|
||||
</data>
|
||||
<data name="DisableOverdrive" xml:space="preserve">
|
||||
<value>화면 OD 끄기</value>
|
||||
</data>
|
||||
<data name="Discharging" xml:space="preserve">
|
||||
<value>방전 중</value>
|
||||
</data>
|
||||
<data name="DownloadUpdate" xml:space="preserve">
|
||||
<value>업데이트 다운로드</value>
|
||||
</data>
|
||||
<data name="DriverAndSoftware" xml:space="preserve">
|
||||
<value>드라이버와 소프트웨어</value>
|
||||
</data>
|
||||
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||
<value>배터리 절약을 위해 dGPU 비활성화</value>
|
||||
</data>
|
||||
<data name="EcoMode" xml:space="preserve">
|
||||
<value>Eco</value>
|
||||
</data>
|
||||
<data name="Extra" xml:space="preserve">
|
||||
<value>추가 설정</value>
|
||||
</data>
|
||||
<data name="ExtraSettings" xml:space="preserve">
|
||||
<value>추가 설정</value>
|
||||
</data>
|
||||
<data name="FactoryDefaults" xml:space="preserve">
|
||||
<value>공장 설정</value>
|
||||
</data>
|
||||
<data name="FanCurves" xml:space="preserve">
|
||||
<value>팬 커브</value>
|
||||
</data>
|
||||
<data name="FanProfileCPU" xml:space="preserve">
|
||||
<value>CPU 팬 프로필</value>
|
||||
</data>
|
||||
<data name="FanProfileGPU" xml:space="preserve">
|
||||
<value>GPU 팬 프로필</value>
|
||||
</data>
|
||||
<data name="FanProfileMid" xml:space="preserve">
|
||||
<value>중간 팬 프로필</value>
|
||||
</data>
|
||||
<data name="FanProfiles" xml:space="preserve">
|
||||
<value>팬 프로필</value>
|
||||
</data>
|
||||
<data name="FansAndPower" xml:space="preserve">
|
||||
<value>팬 속도/전력</value>
|
||||
</data>
|
||||
<data name="FanSpeed" xml:space="preserve">
|
||||
<value>팬: </value>
|
||||
</data>
|
||||
<data name="FansPower" xml:space="preserve">
|
||||
<value>팬 + 전력</value>
|
||||
</data>
|
||||
<data name="FnLock" xml:space="preserve">
|
||||
<value>Fn 키를 누르지 않고 Fn+F 핫키 작동</value>
|
||||
</data>
|
||||
<data name="GPUBoost" xml:space="preserve">
|
||||
<value>다이나믹 부스트</value>
|
||||
</data>
|
||||
<data name="GPUChanging" xml:space="preserve">
|
||||
<value>충전 중</value>
|
||||
</data>
|
||||
<data name="GPUCoreClockOffset" xml:space="preserve">
|
||||
<value>코어 클럭 오프셋</value>
|
||||
</data>
|
||||
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
||||
<value>메모리 클럭 오프셋</value>
|
||||
</data>
|
||||
<data name="GPUMode" xml:space="preserve">
|
||||
<value>GPU 모드</value>
|
||||
</data>
|
||||
<data name="GPUModeEco" xml:space="preserve">
|
||||
<value>iGPU만 사용</value>
|
||||
</data>
|
||||
<data name="GPUModeStandard" xml:space="preserve">
|
||||
<value>iGPU + dGPU</value>
|
||||
</data>
|
||||
<data name="GPUModeUltimate" xml:space="preserve">
|
||||
<value>dGPU만 사용</value>
|
||||
</data>
|
||||
<data name="GPUSettings" xml:space="preserve">
|
||||
<value>GPU 설정</value>
|
||||
</data>
|
||||
<data name="GPUTempTarget" xml:space="preserve">
|
||||
<value>목표 온도</value>
|
||||
</data>
|
||||
<data name="KeyBindings" xml:space="preserve">
|
||||
<value>키 설정</value>
|
||||
</data>
|
||||
<data name="Keyboard" xml:space="preserve">
|
||||
<value>키보드</value>
|
||||
</data>
|
||||
<data name="KeyboardAuto" xml:space="preserve">
|
||||
<value>배터리 사용 중에만 백라이트 밝기 낮추기</value>
|
||||
</data>
|
||||
<data name="KillGpuApps" xml:space="preserve">
|
||||
<value>Eco 모드로 전환 시 GPU를 사용하는 모든 앱 중지</value>
|
||||
</data>
|
||||
<data name="LaptopBacklight" xml:space="preserve">
|
||||
<value>백라이트</value>
|
||||
</data>
|
||||
<data name="LaptopKeyboard" xml:space="preserve">
|
||||
<value>키보드</value>
|
||||
</data>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>화면</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>덮개</value>
|
||||
</data>
|
||||
<data name="Lightbar" xml:space="preserve">
|
||||
<value>라이트바</value>
|
||||
</data>
|
||||
<data name="Logo" xml:space="preserve">
|
||||
<value>로고</value>
|
||||
</data>
|
||||
<data name="MatrixAudio" xml:space="preserve">
|
||||
<value>오디오 비주얼라이저</value>
|
||||
</data>
|
||||
<data name="MatrixBanner" xml:space="preserve">
|
||||
<value>Binary Banner</value>
|
||||
</data>
|
||||
<data name="MatrixBright" xml:space="preserve">
|
||||
<value>밝게</value>
|
||||
</data>
|
||||
<data name="MatrixClock" xml:space="preserve">
|
||||
<value>시계</value>
|
||||
</data>
|
||||
<data name="MatrixDim" xml:space="preserve">
|
||||
<value>어둡게</value>
|
||||
</data>
|
||||
<data name="MatrixLogo" xml:space="preserve">
|
||||
<value>Rog 로고</value>
|
||||
</data>
|
||||
<data name="MatrixMedium" xml:space="preserve">
|
||||
<value>중간</value>
|
||||
</data>
|
||||
<data name="MatrixOff" xml:space="preserve">
|
||||
<value>끄기</value>
|
||||
</data>
|
||||
<data name="MatrixPicture" xml:space="preserve">
|
||||
<value>사진</value>
|
||||
</data>
|
||||
<data name="MaxRefreshTooltip" xml:space="preserve">
|
||||
<value>최대 주사율 설정</value>
|
||||
</data>
|
||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||
<value>60Hz 주사율 설정</value>
|
||||
</data>
|
||||
<data name="Multizone" xml:space="preserve">
|
||||
<value>멀티존</value>
|
||||
</data>
|
||||
<data name="MuteMic" xml:space="preserve">
|
||||
<value>마이크 음소거</value>
|
||||
</data>
|
||||
<data name="OpenGHelper" xml:space="preserve">
|
||||
<value>G-Helper 열기</value>
|
||||
</data>
|
||||
<data name="Optimized" xml:space="preserve">
|
||||
<value>최적화</value>
|
||||
</data>
|
||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||
<value>배터리 사용 중에만 Eco 모드 설정</value>
|
||||
</data>
|
||||
<data name="OptimizedUSBC" xml:space="preserve">
|
||||
<value>최적화 모드에서 PD 충전 시 GPU 비활성화</value>
|
||||
</data>
|
||||
<data name="Other" xml:space="preserve">
|
||||
<value>기타 설정</value>
|
||||
</data>
|
||||
<data name="Overdrive" xml:space="preserve">
|
||||
<value>오버드라이브</value>
|
||||
</data>
|
||||
<data name="PerformanceMode" xml:space="preserve">
|
||||
<value>성능 모드</value>
|
||||
</data>
|
||||
<data name="PictureGif" xml:space="preserve">
|
||||
<value>사진 / Gif</value>
|
||||
</data>
|
||||
<data name="PlayPause" xml:space="preserve">
|
||||
<value>재생 / 정지</value>
|
||||
</data>
|
||||
<data name="PowerLimits" xml:space="preserve">
|
||||
<value>전력 제한 (PPT)</value>
|
||||
</data>
|
||||
<data name="PPTExperimental" xml:space="preserve">
|
||||
<value>전력 제한 (PPT)은 실험적인 기능입니다. 주의하여 사용하세요!</value>
|
||||
</data>
|
||||
<data name="PrintScreen" xml:space="preserve">
|
||||
<value>PrintScreen</value>
|
||||
</data>
|
||||
<data name="Quit" xml:space="preserve">
|
||||
<value>종료</value>
|
||||
</data>
|
||||
<data name="RestartGPU" xml:space="preserve">
|
||||
<value>dGPU가 사용중이기 때문에 Eco 모드로 전환할 수 없습니다. 장치 관리자에서 dGPU를 재시작하시겠습니까?</value>
|
||||
</data>
|
||||
<data name="RPM" xml:space="preserve">
|
||||
<value>RPM</value>
|
||||
</data>
|
||||
<data name="RunOnStartup" xml:space="preserve">
|
||||
<value>시스템 시작 시 실행</value>
|
||||
</data>
|
||||
<data name="Shutdown" xml:space="preserve">
|
||||
<value>꺼짐</value>
|
||||
</data>
|
||||
<data name="Silent" xml:space="preserve">
|
||||
<value>조용</value>
|
||||
</data>
|
||||
<data name="Sleep" xml:space="preserve">
|
||||
<value>Sleep</value>
|
||||
</data>
|
||||
<data name="StandardGPUTooltip" xml:space="preserve">
|
||||
<value>Standard 모드에서 dGPU 켜기</value>
|
||||
</data>
|
||||
<data name="StandardMode" xml:space="preserve">
|
||||
<value>Standard</value>
|
||||
</data>
|
||||
<data name="StartupError" xml:space="preserve">
|
||||
<value>시작 오류</value>
|
||||
</data>
|
||||
<data name="ToggleAura" xml:space="preserve">
|
||||
<value>Aura 토글 키</value>
|
||||
</data>
|
||||
<data name="ToggleFnLock" xml:space="preserve">
|
||||
<value>Fn-Lock 토글 키</value>
|
||||
</data>
|
||||
<data name="ToggleMiniled" xml:space="preserve">
|
||||
<value>Miniled 토글 키 (지원하는 기기만)</value>
|
||||
</data>
|
||||
<data name="ToggleScreen" xml:space="preserve">
|
||||
<value>화면 토글 키</value>
|
||||
</data>
|
||||
<data name="Turbo" xml:space="preserve">
|
||||
<value>터보</value>
|
||||
</data>
|
||||
<data name="TurnedOff" xml:space="preserve">
|
||||
<value>꺼짐</value>
|
||||
</data>
|
||||
<data name="TurnOffOnBattery" xml:space="preserve">
|
||||
<value>배터리 사용 중에는 끄기</value>
|
||||
</data>
|
||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||
<value>노트북 화면을 dGPU와 연결, FPS 최대화</value>
|
||||
</data>
|
||||
<data name="UltimateMode" xml:space="preserve">
|
||||
<value>Ultimate</value>
|
||||
</data>
|
||||
<data name="Updates" xml:space="preserve">
|
||||
<value>업데이트</value>
|
||||
</data>
|
||||
<data name="VersionLabel" xml:space="preserve">
|
||||
<value>버전</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>볼륨 작게</value>
|
||||
</data>
|
||||
<data name="VolumeMute" xml:space="preserve">
|
||||
<value>음소거</value>
|
||||
</data>
|
||||
<data name="VolumeUp" xml:space="preserve">
|
||||
<value>볼륨 크게</value>
|
||||
</data>
|
||||
<data name="WindowTop" xml:space="preserve">
|
||||
<value>창을 항상 맨 위로 유지</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -156,6 +156,9 @@
|
||||
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||
<value>Auto adjust Windows Power Modes</value>
|
||||
</data>
|
||||
<data name="AsusServicesRunning" xml:space="preserve">
|
||||
<value>Asus Services Running</value>
|
||||
</data>
|
||||
<data name="AuraBreathe" xml:space="preserve">
|
||||
<value>Breathe</value>
|
||||
</data>
|
||||
@@ -210,6 +213,12 @@
|
||||
<data name="Brightness" xml:space="preserve">
|
||||
<value>Brightness</value>
|
||||
</data>
|
||||
<data name="BrightnessDown" xml:space="preserve">
|
||||
<value>Brightness Down</value>
|
||||
</data>
|
||||
<data name="BrightnessUp" xml:space="preserve">
|
||||
<value>Brightness Up</value>
|
||||
</data>
|
||||
<data name="Color" xml:space="preserve">
|
||||
<value>Color</value>
|
||||
</data>
|
||||
@@ -438,9 +447,21 @@
|
||||
<data name="StandardMode" xml:space="preserve">
|
||||
<value>Standard</value>
|
||||
</data>
|
||||
<data name="Start" xml:space="preserve">
|
||||
<value>Start</value>
|
||||
</data>
|
||||
<data name="StartingServices" xml:space="preserve">
|
||||
<value>Starting Services</value>
|
||||
</data>
|
||||
<data name="StartupError" xml:space="preserve">
|
||||
<value>Startup Error</value>
|
||||
</data>
|
||||
<data name="Stop" xml:space="preserve">
|
||||
<value>Stop</value>
|
||||
</data>
|
||||
<data name="StoppingServices" xml:space="preserve">
|
||||
<value>Stopping Services</value>
|
||||
</data>
|
||||
<data name="ToggleAura" xml:space="preserve">
|
||||
<value>Toggle Aura</value>
|
||||
</data>
|
||||
|
||||
BIN
app/Resources/icons8-charged-battery-96.png
Normal file
BIN
app/Resources/icons8-charged-battery-96.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 406 B |
BIN
app/Resources/icons8-electrical-96.png
Normal file
BIN
app/Resources/icons8-electrical-96.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1000 B |
22
app/Settings.Designer.cs
generated
22
app/Settings.Designer.cs
generated
@@ -135,7 +135,7 @@ namespace GHelper
|
||||
panelMatrix.Controls.Add(panelMatrixTitle);
|
||||
panelMatrix.Controls.Add(checkMatrix);
|
||||
panelMatrix.Dock = DockStyle.Top;
|
||||
panelMatrix.Location = new Point(10, 783);
|
||||
panelMatrix.Location = new Point(10, 891);
|
||||
panelMatrix.Margin = new Padding(0);
|
||||
panelMatrix.Name = "panelMatrix";
|
||||
panelMatrix.Padding = new Padding(20, 20, 20, 10);
|
||||
@@ -264,7 +264,7 @@ namespace GHelper
|
||||
panelBattery.Controls.Add(sliderBattery);
|
||||
panelBattery.Controls.Add(panelBatteryTitle);
|
||||
panelBattery.Dock = DockStyle.Top;
|
||||
panelBattery.Location = new Point(10, 954);
|
||||
panelBattery.Location = new Point(10, 1062);
|
||||
panelBattery.Margin = new Padding(0);
|
||||
panelBattery.Name = "panelBattery";
|
||||
panelBattery.Padding = new Padding(20);
|
||||
@@ -335,7 +335,7 @@ namespace GHelper
|
||||
panelFooter.Controls.Add(buttonQuit);
|
||||
panelFooter.Controls.Add(checkStartup);
|
||||
panelFooter.Dock = DockStyle.Top;
|
||||
panelFooter.Location = new Point(10, 1136);
|
||||
panelFooter.Location = new Point(10, 1244);
|
||||
panelFooter.Margin = new Padding(0);
|
||||
panelFooter.Name = "panelFooter";
|
||||
panelFooter.Padding = new Padding(20);
|
||||
@@ -570,14 +570,14 @@ namespace GHelper
|
||||
panelGPU.Margin = new Padding(0);
|
||||
panelGPU.Name = "panelGPU";
|
||||
panelGPU.Padding = new Padding(20, 20, 20, 0);
|
||||
panelGPU.Size = new Size(810, 243);
|
||||
panelGPU.Size = new Size(810, 351);
|
||||
panelGPU.TabIndex = 37;
|
||||
//
|
||||
// labelTipGPU
|
||||
//
|
||||
labelTipGPU.Dock = DockStyle.Top;
|
||||
labelTipGPU.ForeColor = SystemColors.GrayText;
|
||||
labelTipGPU.Location = new Point(20, 207);
|
||||
labelTipGPU.Location = new Point(20, 315);
|
||||
labelTipGPU.Margin = new Padding(4, 0, 4, 0);
|
||||
labelTipGPU.Name = "labelTipGPU";
|
||||
labelTipGPU.Size = new Size(770, 36);
|
||||
@@ -603,8 +603,8 @@ namespace GHelper
|
||||
tableGPU.Name = "tableGPU";
|
||||
tableGPU.RowCount = 1;
|
||||
tableGPU.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F));
|
||||
tableGPU.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
|
||||
tableGPU.Size = new Size(770, 148);
|
||||
tableGPU.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F));
|
||||
tableGPU.Size = new Size(770, 256);
|
||||
tableGPU.TabIndex = 16;
|
||||
//
|
||||
// buttonEco
|
||||
@@ -668,7 +668,7 @@ namespace GHelper
|
||||
buttonXGM.Margin = new Padding(4);
|
||||
buttonXGM.Name = "buttonXGM";
|
||||
buttonXGM.Secondary = false;
|
||||
buttonXGM.Size = new Size(184, 12);
|
||||
buttonXGM.Size = new Size(184, 120);
|
||||
buttonXGM.TabIndex = 2;
|
||||
buttonXGM.Text = "XG Mobile";
|
||||
buttonXGM.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
@@ -771,7 +771,7 @@ namespace GHelper
|
||||
panelScreen.Controls.Add(tableScreen);
|
||||
panelScreen.Controls.Add(panelScreenTitle);
|
||||
panelScreen.Dock = DockStyle.Top;
|
||||
panelScreen.Location = new Point(10, 460);
|
||||
panelScreen.Location = new Point(10, 568);
|
||||
panelScreen.Margin = new Padding(0);
|
||||
panelScreen.Name = "panelScreen";
|
||||
panelScreen.Padding = new Padding(20, 20, 20, 10);
|
||||
@@ -939,7 +939,7 @@ namespace GHelper
|
||||
panelKeyboard.Controls.Add(tableLayoutKeyboard);
|
||||
panelKeyboard.Controls.Add(panelKeyboardTitle);
|
||||
panelKeyboard.Dock = DockStyle.Top;
|
||||
panelKeyboard.Location = new Point(10, 645);
|
||||
panelKeyboard.Location = new Point(10, 753);
|
||||
panelKeyboard.Margin = new Padding(0);
|
||||
panelKeyboard.Name = "panelKeyboard";
|
||||
panelKeyboard.Padding = new Padding(20);
|
||||
@@ -1113,7 +1113,7 @@ namespace GHelper
|
||||
panelVersion.Controls.Add(labelVersion);
|
||||
panelVersion.Controls.Add(labelModel);
|
||||
panelVersion.Dock = DockStyle.Top;
|
||||
panelVersion.Location = new Point(10, 1079);
|
||||
panelVersion.Location = new Point(10, 1187);
|
||||
panelVersion.Name = "panelVersion";
|
||||
panelVersion.Size = new Size(810, 57);
|
||||
panelVersion.TabIndex = 41;
|
||||
|
||||
@@ -176,7 +176,7 @@ namespace GHelper
|
||||
|
||||
labelModel.Text = model + (ProcessHelper.IsUserAdministrator() ? "." : "");
|
||||
|
||||
TopMost = AppConfig.getConfig("topmost") == 1;
|
||||
TopMost = AppConfig.isConfig("topmost");
|
||||
|
||||
SetContextMenu();
|
||||
|
||||
@@ -247,8 +247,9 @@ namespace GHelper
|
||||
public void SetContextMenu()
|
||||
{
|
||||
|
||||
contextMenuStrip.Items.Clear();
|
||||
var mode = AppConfig.getConfig("performance_mode");
|
||||
|
||||
contextMenuStrip.Items.Clear();
|
||||
Padding padding = new Padding(15, 5, 5, 5);
|
||||
|
||||
var title = new ToolStripMenuItem(Properties.Strings.PerformanceMode);
|
||||
@@ -259,17 +260,19 @@ namespace GHelper
|
||||
menuSilent = new ToolStripMenuItem(Properties.Strings.Silent);
|
||||
menuSilent.Click += ButtonSilent_Click;
|
||||
menuSilent.Margin = padding;
|
||||
menuSilent.Checked = (mode == AsusACPI.PerformanceSilent);
|
||||
contextMenuStrip.Items.Add(menuSilent);
|
||||
|
||||
menuBalanced = new ToolStripMenuItem(Properties.Strings.Balanced);
|
||||
menuBalanced.Click += ButtonBalanced_Click;
|
||||
menuBalanced.Margin = padding;
|
||||
menuBalanced.Checked = (mode == AsusACPI.PerformanceBalanced);
|
||||
contextMenuStrip.Items.Add(menuBalanced);
|
||||
|
||||
menuTurbo = new ToolStripMenuItem(Properties.Strings.Turbo);
|
||||
menuTurbo.Click += ButtonTurbo_Click;
|
||||
menuTurbo.Checked = true;
|
||||
menuTurbo.Margin = padding;
|
||||
menuTurbo.Checked = (mode == AsusACPI.PerformanceTurbo);
|
||||
contextMenuStrip.Items.Add(menuTurbo);
|
||||
|
||||
contextMenuStrip.Items.Add("-");
|
||||
@@ -351,6 +354,8 @@ namespace GHelper
|
||||
else
|
||||
{
|
||||
Program.acpi.DeviceSet(AsusACPI.GPUXG, 1, "GPU XGM");
|
||||
AsusUSB.ApplyXGMLight(AppConfig.isConfig("xmg_light"));
|
||||
|
||||
await Task.Delay(TimeSpan.FromSeconds(15));
|
||||
|
||||
if (AppConfig.isConfigPerf("auto_apply"))
|
||||
@@ -1190,13 +1195,13 @@ namespace GHelper
|
||||
|
||||
private static bool isManualModeRequired()
|
||||
{
|
||||
if (!AppConfig.isConfigPerf("auto_apply_power"))
|
||||
if (!AppConfig.isConfigPerf("auto_apply_power"))
|
||||
return false;
|
||||
|
||||
|
||||
return
|
||||
AppConfig.isConfig("manual_mode") ||
|
||||
AppConfig.ContainsModel("GU604") ||
|
||||
AppConfig.ContainsModel("FX517") ||
|
||||
AppConfig.ContainsModel("GU604") ||
|
||||
AppConfig.ContainsModel("FX517") ||
|
||||
AppConfig.ContainsModel("G733");
|
||||
}
|
||||
|
||||
@@ -1256,28 +1261,33 @@ namespace GHelper
|
||||
buttonBalanced.Activated = false;
|
||||
buttonTurbo.Activated = false;
|
||||
|
||||
menuSilent.Checked = false;
|
||||
menuBalanced.Checked = false;
|
||||
menuTurbo.Checked = false;
|
||||
|
||||
switch (PerformanceMode)
|
||||
{
|
||||
case AsusACPI.PerformanceSilent:
|
||||
buttonSilent.Activated = true;
|
||||
menuSilent.Checked = true;
|
||||
perfName = Properties.Strings.Silent;
|
||||
break;
|
||||
case AsusACPI.PerformanceTurbo:
|
||||
buttonTurbo.Activated = true;
|
||||
menuTurbo.Checked = true;
|
||||
perfName = Properties.Strings.Turbo;
|
||||
break;
|
||||
default:
|
||||
buttonBalanced.Activated = true;
|
||||
PerformanceMode = AsusACPI.PerformanceBalanced;
|
||||
menuBalanced.Checked = true;
|
||||
perfName = Properties.Strings.Balanced;
|
||||
PerformanceMode = AsusACPI.PerformanceBalanced;
|
||||
break;
|
||||
}
|
||||
|
||||
menuSilent.Checked = buttonSilent.Activated;
|
||||
menuBalanced.Checked = buttonBalanced.Activated;
|
||||
menuTurbo.Checked = buttonTurbo.Activated;
|
||||
var powerStatus = SystemInformation.PowerStatus.PowerLineStatus;
|
||||
|
||||
AppConfig.setConfig("performance_" + (int)SystemInformation.PowerStatus.PowerLineStatus, PerformanceMode);
|
||||
AppConfig.setConfig("performance_" + (int)powerStatus, PerformanceMode);
|
||||
AppConfig.setConfig("performance_mode", PerformanceMode);
|
||||
|
||||
if (isManualModeRequired())
|
||||
@@ -1287,11 +1297,11 @@ namespace GHelper
|
||||
|
||||
if (AppConfig.isConfig("xgm_fan") && Program.acpi.IsXGConnected()) AsusUSB.ResetXGM();
|
||||
|
||||
if (notify && (oldMode != PerformanceMode))
|
||||
if (notify)
|
||||
{
|
||||
try
|
||||
{
|
||||
toast.RunToast(perfName);
|
||||
toast.RunToast(perfName, powerStatus == PowerLineStatus.Online ? ToastIcon.Charger : ToastIcon.Battery);
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -1352,13 +1362,13 @@ namespace GHelper
|
||||
|
||||
}
|
||||
|
||||
public void AutoPerformance()
|
||||
public void AutoPerformance(bool powerChanged = false)
|
||||
{
|
||||
var Plugged = SystemInformation.PowerStatus.PowerLineStatus;
|
||||
|
||||
int mode = AppConfig.getConfig("performance_" + (int)Plugged);
|
||||
if (mode != -1)
|
||||
SetPerformanceMode(mode, true);
|
||||
SetPerformanceMode(mode, powerChanged);
|
||||
else
|
||||
SetPerformanceMode(AppConfig.getConfig("performance_mode"));
|
||||
}
|
||||
@@ -1724,10 +1734,13 @@ namespace GHelper
|
||||
break;
|
||||
}
|
||||
|
||||
menuEco.Checked = buttonEco.Activated;
|
||||
menuStandard.Checked = buttonStandard.Activated;
|
||||
menuUltimate.Checked = buttonUltimate.Activated;
|
||||
menuOptimized.Checked = buttonOptimized.Activated;
|
||||
if (isGpuSection)
|
||||
{
|
||||
menuEco.Checked = buttonEco.Activated;
|
||||
menuStandard.Checked = buttonStandard.Activated;
|
||||
menuUltimate.Checked = buttonUltimate.Activated;
|
||||
menuOptimized.Checked = buttonOptimized.Activated;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,9 @@ namespace GHelper
|
||||
Touchpad,
|
||||
Microphone,
|
||||
MicrophoneMute,
|
||||
FnLock
|
||||
FnLock,
|
||||
Battery,
|
||||
Charger
|
||||
}
|
||||
|
||||
public class ToastForm : OSDNativeForm
|
||||
@@ -107,6 +109,12 @@ namespace GHelper
|
||||
case ToastIcon.FnLock:
|
||||
icon = Properties.Resources.icons8_function;
|
||||
break;
|
||||
case ToastIcon.Battery:
|
||||
icon = Properties.Resources.icons8_charged_battery_96;
|
||||
break;
|
||||
case ToastIcon.Charger:
|
||||
icon = Properties.Resources.icons8_electrical_96;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
121
app/Updates.cs
121
app/Updates.cs
@@ -1,10 +1,22 @@
|
||||
using CustomControls;
|
||||
using HidSharp;
|
||||
using System.Diagnostics;
|
||||
using System.Management;
|
||||
using System.Net;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace GHelper
|
||||
{
|
||||
|
||||
struct DriverDownload
|
||||
{
|
||||
public string categoryName;
|
||||
public string title;
|
||||
public string version;
|
||||
public string downloadUrl;
|
||||
public JsonElement hardwares;
|
||||
}
|
||||
|
||||
public partial class Updates : RForm
|
||||
{
|
||||
//static int rowCount = 0;
|
||||
@@ -30,7 +42,7 @@ namespace GHelper
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
DriversAsync($"https://rog.asus.com/support/webapi/product/GetPDDrivers?website=global&model={model}&osid=52", 0, tableDrivers);
|
||||
DriversAsync($"https://rog.asus.com/support/webapi/product/GetPDDrivers?website=global&model={model}&cpu={model}&osid=52", 0, tableDrivers);
|
||||
});
|
||||
|
||||
Shown += Updates_Shown;
|
||||
@@ -86,23 +98,20 @@ namespace GHelper
|
||||
|
||||
try
|
||||
{
|
||||
Dictionary<string, string> devices = new();
|
||||
string biosVersion = "";
|
||||
|
||||
if (type == 0) devices = GetDeviceVersions();
|
||||
else biosVersion = GetBiosVersion();
|
||||
|
||||
//Debug.WriteLine(biosVersion);
|
||||
|
||||
using (var httpClient = new HttpClient())
|
||||
using (var httpClient = new HttpClient(new HttpClientHandler
|
||||
{
|
||||
AutomaticDecompression = DecompressionMethods.All
|
||||
}))
|
||||
{
|
||||
httpClient.DefaultRequestHeaders.AcceptEncoding.ParseAdd("gzip, deflate, br");
|
||||
httpClient.DefaultRequestHeaders.Add("User-Agent", "C# App");
|
||||
var json = await httpClient.GetStringAsync(url);
|
||||
var data = JsonSerializer.Deserialize<JsonElement>(json);
|
||||
var groups = data.GetProperty("Result").GetProperty("Obj");
|
||||
|
||||
|
||||
List<string> skipList = new() { "Armoury Crate & Aura Creator Installer", "MyASUS", "ASUS Smart Display Control", "Aura Wallpaper" };
|
||||
List<string> skipList = new() { "Armoury Crate & Aura Creator Installer", "MyASUS", "ASUS Smart Display Control", "Aura Wallpaper", "Virtual Pet","ROG Font V1.5" };
|
||||
List<DriverDownload> drivers = new();
|
||||
|
||||
for (int i = 0; i < groups.GetArrayLength(); i++)
|
||||
{
|
||||
@@ -116,62 +125,43 @@ namespace GHelper
|
||||
|
||||
var file = files[j];
|
||||
var title = file.GetProperty("Title").ToString();
|
||||
var version = file.GetProperty("Version").ToString().Replace("V", "");
|
||||
var downloadUrl = file.GetProperty("DownloadUrl").GetProperty("Global").ToString();
|
||||
|
||||
//Debug.WriteLine(" - " + title + " " + version + " " + downloadUrl);
|
||||
|
||||
if (oldTitle != title && !skipList.Contains(title))
|
||||
{
|
||||
JsonElement hardwares = file.GetProperty("HardwareInfoList");
|
||||
bool newer = false;
|
||||
|
||||
if (type == 0 && hardwares.ToString().Length > 0)
|
||||
for (int k = 0; k < hardwares.GetArrayLength(); k++)
|
||||
{
|
||||
var deviceID = hardwares[k].GetProperty("hardwareid").ToString();
|
||||
var localVersion = devices.Where(p => p.Key.Contains(deviceID)).Select(p => p.Value).FirstOrDefault();
|
||||
if (localVersion is not null)
|
||||
{
|
||||
newer = (new Version(version).CompareTo(new Version(localVersion)) > 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (type == 1)
|
||||
{
|
||||
newer = Int32.Parse(version) > Int32.Parse(biosVersion);
|
||||
}
|
||||
var driver = new DriverDownload();
|
||||
driver.categoryName = categoryName;
|
||||
driver.title = title;
|
||||
driver.version = file.GetProperty("Version").ToString().Replace("V", "");
|
||||
driver.downloadUrl = file.GetProperty("DownloadUrl").GetProperty("Global").ToString();
|
||||
driver.hardwares = file.GetProperty("HardwareInfoList");
|
||||
drivers.Add(driver);
|
||||
|
||||
BeginInvoke(delegate
|
||||
{
|
||||
string versionText = version.Replace("latest version at the ", "");
|
||||
string versionText = driver.version.Replace("latest version at the ", "");
|
||||
Label versionLabel = new Label { Text = versionText, Anchor = AnchorStyles.Left, Dock = DockStyle.Fill, Height = 50 };
|
||||
versionLabel.Cursor = Cursors.Hand;
|
||||
versionLabel.Font = new Font(versionLabel.Font, newer ? FontStyle.Underline | FontStyle.Bold : FontStyle.Underline);
|
||||
versionLabel.ForeColor = newer ? colorTurbo : colorEco;
|
||||
versionLabel.Font = new Font(versionLabel.Font, FontStyle.Underline);
|
||||
versionLabel.ForeColor = colorEco;
|
||||
versionLabel.Padding = new Padding(5, 5, 5, 5);
|
||||
versionLabel.Click += delegate
|
||||
{
|
||||
Process.Start(new ProcessStartInfo(downloadUrl) { UseShellExecute = true });
|
||||
Process.Start(new ProcessStartInfo(driver.downloadUrl) { UseShellExecute = true });
|
||||
};
|
||||
|
||||
table.RowStyles.Add(new RowStyle(SizeType.AutoSize));
|
||||
table.Controls.Add(new Label { Text = categoryName, Anchor = AnchorStyles.Left, Dock = DockStyle.Fill, Padding = new Padding(5, 5, 5, 5) }, 0, table.RowCount);
|
||||
table.Controls.Add(new Label { Text = title, Anchor = AnchorStyles.Left, Dock = DockStyle.Fill, Padding = new Padding(5, 5, 5, 5) }, 1, table.RowCount);
|
||||
table.Controls.Add(new Label { Text = driver.categoryName, Anchor = AnchorStyles.Left, Dock = DockStyle.Fill, Padding = new Padding(5, 5, 5, 5) }, 0, table.RowCount);
|
||||
table.Controls.Add(new Label { Text = driver.title, Anchor = AnchorStyles.Left, Dock = DockStyle.Fill, Padding = new Padding(5, 5, 5, 5) }, 1, table.RowCount);
|
||||
table.Controls.Add(versionLabel, 2, table.RowCount);
|
||||
table.RowCount++;
|
||||
});
|
||||
}
|
||||
|
||||
oldTitle = title;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
BeginInvoke(delegate
|
||||
{
|
||||
table.Visible = true;
|
||||
@@ -179,11 +169,54 @@ namespace GHelper
|
||||
PerformLayout();
|
||||
});
|
||||
|
||||
Dictionary<string, string> devices = new();
|
||||
string biosVersion = "0";
|
||||
|
||||
if (type == 0) devices = GetDeviceVersions();
|
||||
else biosVersion = GetBiosVersion();
|
||||
|
||||
//Debug.WriteLine(biosVersion);
|
||||
|
||||
int count = 0;
|
||||
foreach (var driver in drivers)
|
||||
{
|
||||
int newer = -2;
|
||||
if (type == 0 && driver.hardwares.ToString().Length > 0)
|
||||
for (int k = 0; k < driver.hardwares.GetArrayLength(); k++)
|
||||
{
|
||||
var deviceID = driver.hardwares[k].GetProperty("hardwareid").ToString();
|
||||
var localVersion = devices.Where(p => p.Key.Contains(deviceID)).Select(p => p.Value).FirstOrDefault();
|
||||
if (localVersion is not null)
|
||||
{
|
||||
newer = new Version(driver.version).CompareTo(new Version(localVersion));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (type == 1)
|
||||
newer = Int32.Parse(driver.version) > Int32.Parse(biosVersion) ? 1 : -1;
|
||||
|
||||
if (newer > 0)
|
||||
{
|
||||
var label = table.GetControlFromPosition(2, count) as Label;
|
||||
if (label != null)
|
||||
{
|
||||
BeginInvoke(delegate
|
||||
{
|
||||
label.Font = new Font(label.Font, FontStyle.Underline | FontStyle.Bold);
|
||||
label.ForeColor = colorTurbo;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
count++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.WriteLine(ex.ToString());
|
||||
Logger.WriteLine(ex.ToString());
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user