2
0
Эх сурвалжийг харах

added disable compatibility assistant

deadmoon 7 жил өмнө
parent
commit
8371f401b8

+ 3 - 0
CHANGELOG.md

@@ -2,6 +2,9 @@
 
 All notable changes to this project will be documented in this file.
 
+## [UNRELEASED] [3.9]
+- Added: Disable Program Compatibility Assistant Service
+
 ## [3.8] - 2017-12-31
 - Windows 7 crashing fixed
 

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 171 - 141
Optimizer/MainForm.Designer.cs


+ 15 - 0
Optimizer/MainForm.cs

@@ -75,6 +75,7 @@ namespace Optimizer
             toggleSwitch31.Click += new EventHandler(toggleSwitch31_Click);
             toggleSwitch18.Click += new EventHandler(toggleSwitch18_Click);
             toggleSwitch19.Click += new EventHandler(toggleSwitch19_Click);
+            toggleSwitch32.Click += new EventHandler(toggleSwitch32_Click);
         }
 
         private void LoadSettings()
@@ -304,6 +305,7 @@ namespace Optimizer
             toggleSwitch10.Checked = Options.CurrentOptions.DisableSuperfetch;
             toggleSwitch11.Checked = Options.CurrentOptions.DisableTelemetryTasks;
             toggleSwitch12.Checked = Options.CurrentOptions.DisableOffice2016Telemetry;
+            toggleSwitch32.Checked = Options.CurrentOptions.DisableCompatibilityAssistant;
         }
 
         private void LoadWindowsVIIIToggleStates()
@@ -1686,5 +1688,18 @@ namespace Optimizer
             }
             Options.CurrentOptions.DisableOneDrive = !toggleSwitch31.Checked;
         }
+
+        private void toggleSwitch32_Click(object sender, EventArgs e)
+        {
+            if (!toggleSwitch32.Checked)
+            {
+                Optimize.DisableCompatibilityAssistant();
+            }
+            else
+            {
+                Optimize.EnableCompatibilityAssistant();
+            }
+            Options.CurrentOptions.DisableCompatibilityAssistant = !toggleSwitch32.Checked;
+        }
     }
 }

+ 12 - 0
Optimizer/Optimize.cs

@@ -236,6 +236,18 @@ namespace Optimizer
             Utilities.StartService("SysMain");
         }
 
+        internal static void EnableCompatibilityAssistant()
+        {
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PcaSvc", "Start", "2", RegistryValueKind.DWord);
+            Utilities.StartService("PcaSvc");
+        }
+
+        internal static void DisableCompatibilityAssistant()
+        {
+            Utilities.StopService("PcaSvc");
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PcaSvc", "Start", "4", RegistryValueKind.DWord);
+        }
+
         internal static void DisableSystemRestore()
         {
             try

+ 2 - 0
Optimizer/Options.cs

@@ -26,6 +26,7 @@ namespace Optimizer
         public bool DisableSuperfetch { get; set; }
         public bool DisableTelemetryTasks { get; set; }
         public bool DisableOffice2016Telemetry { get; set; }
+        public bool DisableCompatibilityAssistant { get; set; }
 
         public bool EnableLegacyVolumeSlider { get; set; }
         public bool EnableTaskbarColor { get; set; }
@@ -156,6 +157,7 @@ namespace Optimizer
                 CurrentOptions.DisableSuperfetch = false;
                 CurrentOptions.DisableTelemetryTasks = false;
                 CurrentOptions.DisableOffice2016Telemetry = false;
+                CurrentOptions.DisableCompatibilityAssistant = false;
 
                 CurrentOptions.EnableLegacyVolumeSlider = false;
                 CurrentOptions.EnableTaskbarColor = false;

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно