diff --git a/.Source/GTweak/Language/lang.ru.xaml b/.Source/GTweak/Language/lang.ru.xaml
index 9facb5e..28da2ad 100644
--- a/.Source/GTweak/Language/lang.ru.xaml
+++ b/.Source/GTweak/Language/lang.ru.xaml
@@ -322,6 +322,8 @@
Использовать обычную схему электропитания
Функция Bluetooth и устройства
Брандмауэр Защитника Windows
+ Функция Windows «Игровой режим»
+ Функция Xbox «Игровая панель»
Изменяет скорость движения указателя мыши, экономя ваше время для поисков параметров мыши.
Изменят задержку перед началом повтора вводимого символа, рекомендованное значение - 0.
@@ -346,6 +348,8 @@
Добавит слегка измененную схему электропитания «Максимальная Производительность», или в случае её наличия, просто переключит на имеющуюся схему электропитания.
Если вам не нужен Bluetooth и вы не хотите использовать устройства по Bluetooth. То отключайте его, так же уберет иконку с панели задач.
Брандмауэр позволяет вам разрешить или запретить программам выход в интернет, а так же контролировать трафик. Что делает его полезным, если вы намерено хотетите и знаете что делаете, то отключайте. А так не рекомендовано этого делать.
+ Игровой режим не оказывает большое влияния на мощные системы. Однако если у вас много процессов, работающих в фоновом режиме, то режим гарантирует, что фоновые процессы не будут влиять на работу игры.
+ Функция для записи ваших игр. По большому счету использует в пустую ресурсы вашей системы. Есть много лучших альтернатив, да и в добавок которые не открываются спонтанно.
diff --git a/.Source/GTweak/Language/lang.xaml b/.Source/GTweak/Language/lang.xaml
index b2aa158..22a01cb 100644
--- a/.Source/GTweak/Language/lang.xaml
+++ b/.Source/GTweak/Language/lang.xaml
@@ -322,6 +322,8 @@
Use a conventional power supply circuit
Bluetooth and device function
Windows Defender Firewall
+ Windows feature «Game Mode»
+ Xbox feature «Game Bar»
Changes the speed of the mouse pointer, saving you time to search for mouse parameters.
Will change the delay before starting to repeat the entered character, the recommended value is 0.
@@ -346,6 +348,8 @@
Will add a slightly modified «Maximum Performance» power supply circuit, or if available, simply switch to the existing power supply circuit.
If you don't need Bluetooth and you don't want to use Bluetooth devices. Then disable it, it will also remove the icon from the taskbar.
The firewall allows you to allow or deny programs access to the Internet, as well as control traffic. Which makes it useful, if you intentionally want to and know what you're doing, then turn it off. And it is not recommended to do this.
+ The game mode does not have much effect on powerful systems. However, if you have a lot of processes running in the background, then the mode ensures that background processes will not affect the operation of the game.
+ A function for recording your games. By and large, it uses up the resources of your system. There are many better alternatives, and in addition, which do not open spontaneously.
diff --git a/.Source/GTweak/Properties/AssemblyInfo.cs b/.Source/GTweak/Properties/AssemblyInfo.cs
index 0d986ef..65c01a1 100644
--- a/.Source/GTweak/Properties/AssemblyInfo.cs
+++ b/.Source/GTweak/Properties/AssemblyInfo.cs
@@ -10,8 +10,8 @@
[assembly: AssemblyCopyright("Copyright © 2024 Greedeks")]
[assembly: AssemblyTrademark("Greedeks")]
[assembly: AssemblyCulture("")]
-[assembly: AssemblyInformationalVersion("Build: 4.90.0")]
-[assembly: AssemblyFileVersion("4.90.0")]
+[assembly: AssemblyInformationalVersion("Build: 4.90.1")]
+[assembly: AssemblyFileVersion("4.90.1")]
[assembly: ComVisible(false)]
diff --git a/.Source/GTweak/Utilities/Tweaks/Firewall.cs b/.Source/GTweak/Utilities/Tweaks/Firewall.cs
index 566e054..42cba9a 100644
--- a/.Source/GTweak/Utilities/Tweaks/Firewall.cs
+++ b/.Source/GTweak/Utilities/Tweaks/Firewall.cs
@@ -1,5 +1,6 @@
using NetFwTypeLib;
using System;
+using System.Collections.Generic;
using System.Diagnostics;
using System.Threading.Tasks;
using System.Windows;
@@ -9,6 +10,12 @@ namespace GTweak.Utilities.Tweaks
internal abstract class Firewall
{
private static readonly string nameRules = @"GTweak - Windows Update blocking";
+ private static readonly SortedList programPaths = new SortedList
+ {
+ ["MoUso_New"] = @"Windows\UUS\amd64\MoUsoCoreWorker.exe",
+ ["MoUso_Old"] = @"Windows\System32\MoUsoCoreWorker.exe",
+ ["Uso"] = @"Windows\System32\usoclient.exe",
+ };
private static bool CheckRulesWindows(string nameRule)
{
bool isCheck = true;
@@ -28,24 +35,24 @@ protected static void BlockWindowsUpdate(bool isChoose)
if (CheckRulesWindows(nameRules) && isChoose)
{
Parallel.Invoke(
- () => { RulesUpdateIN(isChoose, Settings.PathSystemDisk + @"Windows\UUS\amd64\MoUsoCoreWorker.exe", nameRules); },
- () => { RulesUpdateIN(isChoose, Settings.PathSystemDisk + @"Windows\System32\MoUsoCoreWorker.exe", string.Concat(nameRules," (Old Way)")); },
- () => { RulesUpdateIN(isChoose, Settings.PathSystemDisk + @"Windows\System32\usoclient.exe", string.Concat(nameRules," (Update Orchestrator)")); },
- () => { RulesUpdateOUT(isChoose, Settings.PathSystemDisk + @"Windows\UUS\amd64\MoUsoCoreWorker.exe", nameRules); },
- () => { RulesUpdateOUT(isChoose, Settings.PathSystemDisk + @"Windows\System32\MoUsoCoreWorker.exe", string.Concat(nameRules, " (Old Way)")); },
- () => { RulesUpdateOUT(isChoose, Settings.PathSystemDisk + @"Windows\System32\usoclient.exe", string.Concat(nameRules, " (Update Orchestrator)")); });
+ () => { RulesUpdateIN(isChoose, Settings.PathSystemDisk + programPaths["MoUso_New"], nameRules); },
+ () => { RulesUpdateIN(isChoose, Settings.PathSystemDisk + programPaths["MoUso_Old"], string.Concat(nameRules," (Old Way)")); },
+ () => { RulesUpdateIN(isChoose, Settings.PathSystemDisk + programPaths["Uso"], string.Concat(nameRules," (Update Orchestrator)")); },
+ () => { RulesUpdateOUT(isChoose, Settings.PathSystemDisk + @programPaths["MoUso_New"], nameRules); },
+ () => { RulesUpdateOUT(isChoose, Settings.PathSystemDisk + programPaths["MoUso_Old"], string.Concat(nameRules, " (Old Way)")); },
+ () => { RulesUpdateOUT(isChoose, Settings.PathSystemDisk + programPaths["Uso"], string.Concat(nameRules, " (Update Orchestrator)")); });
}
else
{
try {
- RulesUpdateIN(isChoose, Settings.PathSystemDisk + @"Windows\UUS\amd64\MoUsoCoreWorker.exe", nameRules);
- RulesUpdateIN(isChoose, Settings.PathSystemDisk + @"Windows\System32\MoUsoCoreWorker.exe", string.Concat(nameRules, " (Old Way)"));
- RulesUpdateIN(isChoose, Settings.PathSystemDisk + @"Windows\System32\usoclient.exe", string.Concat(nameRules, " (Update Orchestrator)"));
+ RulesUpdateIN(isChoose, Settings.PathSystemDisk + programPaths["MoUso_New"], nameRules);
+ RulesUpdateIN(isChoose, Settings.PathSystemDisk + programPaths["MoUso_Old"], string.Concat(nameRules, " (Old Way)"));
+ RulesUpdateIN(isChoose, Settings.PathSystemDisk + programPaths["Uso"], string.Concat(nameRules, " (Update Orchestrator)"));
} catch (Exception ex) { Debug.WriteLine(ex.Message.ToString()); }
try {
- RulesUpdateOUT(isChoose, Settings.PathSystemDisk + @"Windows\UUS\amd64\MoUsoCoreWorker.exe", nameRules);
- RulesUpdateOUT(isChoose, Settings.PathSystemDisk + @"Windows\System32\MoUsoCoreWorker.exe", string.Concat(nameRules, " (Old Way)"));
- RulesUpdateOUT(isChoose, Settings.PathSystemDisk + @"Windows\System32\usoclient.exe", string.Concat(nameRules, " (Update Orchestrator)"));
+ RulesUpdateOUT(isChoose, Settings.PathSystemDisk + programPaths["MoUso_New"], nameRules);
+ RulesUpdateOUT(isChoose, Settings.PathSystemDisk + programPaths["MoUso_Old"], string.Concat(nameRules, " (Old Way)"));
+ RulesUpdateOUT(isChoose, Settings.PathSystemDisk + programPaths["Uso"], string.Concat(nameRules, " (Update Orchestrator)"));
} catch (Exception ex) { Debug.WriteLine(ex.Message.ToString()); }
}
}
diff --git a/.Source/GTweak/Utilities/Tweaks/SystemTweaks.cs b/.Source/GTweak/Utilities/Tweaks/SystemTweaks.cs
index 3475d07..7f59c18 100644
--- a/.Source/GTweak/Utilities/Tweaks/SystemTweaks.cs
+++ b/.Source/GTweak/Utilities/Tweaks/SystemTweaks.cs
@@ -243,22 +243,44 @@ internal void ViewSystem(SystemView systemV)
else
systemV.TglButton17.StateNA = false;
+
if (!Registry.GetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\" + activeGuid + "", "Description", string.Empty).ToString().Contains("-18") &&
!Registry.GetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\" + activeGuid + "", "FriendlyName", string.Empty).ToString().Contains("-19"))
systemV.TglButton18.StateNA = true;
else
systemV.TglButton18.StateNA = false;
+
if (isBluetoothStatus)
systemV.TglButton19.StateNA = true;
else
systemV.TglButton19.StateNA = false;
+
if (Registry.GetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mpssvc", "Start", null).ToString() != "4")
systemV.TglButton20.StateNA = true;
else
systemV.TglButton20.StateNA = false;
+
+ if (Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\GameBar", "AutoGameModeEnabled", null) == null ||
+ Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\GameBar", "AutoGameModeEnabled", null).ToString() != "0" ||
+ Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\GameBar", "AllowAutoGameMode", null) == null ||
+ Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\GameBar", "AllowAutoGameMode", null).ToString() != "0")
+ systemV.TglButton21.StateNA = true;
+ else
+ systemV.TglButton21.StateNA = false;
+
+
+ if (Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\GameBar", "UseNexusForGameBarEnabled", null) == null ||
+ Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\GameBar", "UseNexusForGameBarEnabled", null).ToString() != "0" ||
+ Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR", "AppCaptureEnabled", null) == null ||
+ Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR", "AppCaptureEnabled", null).ToString() != "0" ||
+ Registry.GetValue(@"HKEY_CURRENT_USER\System\GameConfigStore", "GameDVR_Enabled", null) == null ||
+ Registry.GetValue(@"HKEY_CURRENT_USER\System\GameConfigStore", "GameDVR_Enabled", null).ToString() != "0")
+ systemV.TglButton22.StateNA = true;
+ else
+ systemV.TglButton22.StateNA = false;
}
internal void ViewBluetoothStatus()
@@ -597,6 +619,32 @@ internal static void UseSystem(string tweak, bool isChoose)
RegistryHelp.Write(Registry.LocalMachine, @"SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile", "EnableFirewall", "0", RegistryValueKind.DWord);
}
break;
+ case "TglButton21":
+ if (isChoose)
+ {
+ RegistryHelp.Write(Registry.CurrentUser, @"Software\Microsoft\GameBar", "AutoGameModeEnabled", 0, RegistryValueKind.DWord);
+ RegistryHelp.Write(Registry.CurrentUser, @"Software\Microsoft\GameBar", "AllowAutoGameMode", 0, RegistryValueKind.DWord);
+ }
+ else
+ {
+ RegistryHelp.Write(Registry.CurrentUser, @"Software\Microsoft\GameBar", "AutoGameModeEnabled", 1, RegistryValueKind.DWord);
+ RegistryHelp.Write(Registry.CurrentUser, @"Software\Microsoft\GameBar", "AllowAutoGameMode", 1, RegistryValueKind.DWord);
+ }
+ break;
+ case "TglButton22":
+ if (isChoose)
+ {
+ RegistryHelp.Write(Registry.CurrentUser, @"SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR", "AppCaptureEnabled", 0, RegistryValueKind.DWord);
+ RegistryHelp.Write(Registry.CurrentUser, @"System\GameConfigStore", "GameDVR_Enabled", 0, RegistryValueKind.DWord);
+ RegistryHelp.Write(Registry.CurrentUser, @"Software\Microsoft\GameBar", "UseNexusForGameBarEnabled", 0, RegistryValueKind.DWord);
+ }
+ else
+ {
+ RegistryHelp.Write(Registry.CurrentUser, @"SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR", "AppCaptureEnabled", 1, RegistryValueKind.DWord);
+ RegistryHelp.Write(Registry.CurrentUser, @"System\GameConfigStore", "GameDVR_Enabled", 1, RegistryValueKind.DWord);
+ RegistryHelp.Write(Registry.CurrentUser, @"Software\Microsoft\GameBar", "UseNexusForGameBarEnabled", 1, RegistryValueKind.DWord);
+ }
+ break;
}
}
diff --git a/.Source/GTweak/View/SystemView.xaml b/.Source/GTweak/View/SystemView.xaml
index ace57cd..9cd936c 100644
--- a/.Source/GTweak/View/SystemView.xaml
+++ b/.Source/GTweak/View/SystemView.xaml
@@ -48,6 +48,7 @@
+
@@ -65,6 +66,7 @@
+