deadmoon 2 年之前
父节点
当前提交
51e56cad1f

+ 11 - 4
Optimizer/Controls/MoonTabs.cs

@@ -14,6 +14,9 @@ namespace Optimizer
     ]
     ]
     public class MoonTabs : TabControl
     public class MoonTabs : TabControl
     {
     {
+        [System.Runtime.InteropServices.DllImport("user32.dll")]
+        private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
+
         [Category("Custom"), Description("Indicates whether or not you the components Tabpages Headers have border edges."), DefaultValue(false)]
         [Category("Custom"), Description("Indicates whether or not you the components Tabpages Headers have border edges."), DefaultValue(false)]
         public bool BorderEdges { get; set; } = false;
         public bool BorderEdges { get; set; } = false;
 
 
@@ -64,11 +67,15 @@ namespace Optimizer
             base.OnHandleCreated(e);
             base.OnHandleCreated(e);
 
 
             // Send TCM_SETMINTABWIDTH
             // Send TCM_SETMINTABWIDTH
-            SendMessage(this.Handle, 0x1300 + 49, IntPtr.Zero, (IntPtr)(Program.DPI_PREFERENCE / 3));
-        }
+            string maxTitle = string.Empty;
+            foreach(TabPage x in this.TabPages)
+            {
+                if (x.Text.Length > maxTitle.Length) maxTitle = x.Text;
+            }
+            Size textSize = TextRenderer.MeasureText(maxTitle, this.Font);
 
 
-        [System.Runtime.InteropServices.DllImport("user32.dll")]
-        private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
+            SendMessage(this.Handle, 0x1300 + 49, IntPtr.Zero, (IntPtr)textSize.Width);
+        }
 
 
         public MoonTabs()
         public MoonTabs()
         {
         {

+ 116 - 98
Optimizer/Forms/MainForm.Designer.cs

@@ -32,14 +32,14 @@ namespace Optimizer
         {
         {
             this.components = new System.ComponentModel.Container();
             this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
-            System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("Processors", 0, 0);
-            System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("Memory", 1, 1);
-            System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("Graphics", 2, 2);
-            System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("Motherboard", 3, 3);
-            System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("Storage", 4, 4);
-            System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("Network Adapters", 5, 5);
-            System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("Audio", 6, 6);
-            System.Windows.Forms.TreeNode treeNode16 = new System.Windows.Forms.TreeNode("Peripherals", 7, 7);
+            System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("Processors", 0, 0);
+            System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Memory", 1, 1);
+            System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("Graphics", 2, 2);
+            System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("Motherboard", 3, 3);
+            System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("Storage", 4, 4);
+            System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("Network Adapters", 5, 5);
+            System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("Audio", 6, 6);
+            System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("Peripherals", 7, 7);
             this.tpanel = new System.Windows.Forms.Panel();
             this.tpanel = new System.Windows.Forms.Panel();
             this.restartAndApply = new System.Windows.Forms.Label();
             this.restartAndApply = new System.Windows.Forms.Label();
             this.picRestartNeeded = new System.Windows.Forms.PictureBox();
             this.picRestartNeeded = new System.Windows.Forms.PictureBox();
@@ -52,7 +52,7 @@ namespace Optimizer
             this.pictureBox1 = new System.Windows.Forms.PictureBox();
             this.pictureBox1 = new System.Windows.Forms.PictureBox();
             this.label2 = new System.Windows.Forms.Label();
             this.label2 = new System.Windows.Forms.Label();
             this.bpanel = new System.Windows.Forms.Panel();
             this.bpanel = new System.Windows.Forms.Panel();
-            this.tabCollection = new Optimizer.MoonTabs();
+            this.tabCollection = new System.Windows.Forms.TabControl();
             this.universalTab = new System.Windows.Forms.TabPage();
             this.universalTab = new System.Windows.Forms.TabPage();
             this.nvidiaTelemetrySw = new Optimizer.ToggleCard();
             this.nvidiaTelemetrySw = new Optimizer.ToggleCard();
             this.ntfsStampSw = new Optimizer.ToggleCard();
             this.ntfsStampSw = new Optimizer.ToggleCard();
@@ -101,6 +101,7 @@ namespace Optimizer
             this.oldExplorerSw = new Optimizer.ToggleCard();
             this.oldExplorerSw = new Optimizer.ToggleCard();
             this.adsSw = new Optimizer.ToggleCard();
             this.adsSw = new Optimizer.ToggleCard();
             this.panelWin11Tweaks = new System.Windows.Forms.Panel();
             this.panelWin11Tweaks = new System.Windows.Forms.Panel();
+            this.vbsSw = new Optimizer.ToggleCard();
             this.stickersSw = new Optimizer.ToggleCard();
             this.stickersSw = new Optimizer.ToggleCard();
             this.compactModeSw = new Optimizer.ToggleCard();
             this.compactModeSw = new Optimizer.ToggleCard();
             this.classicRibbonSw = new Optimizer.ToggleCard();
             this.classicRibbonSw = new Optimizer.ToggleCard();
@@ -208,7 +209,7 @@ namespace Optimizer
             this.checkBin = new Optimizer.MoonCheck();
             this.checkBin = new Optimizer.MoonCheck();
             this.checkMiniDumps = new Optimizer.MoonCheck();
             this.checkMiniDumps = new Optimizer.MoonCheck();
             this.pingerTab = new System.Windows.Forms.TabPage();
             this.pingerTab = new System.Windows.Forms.TabPage();
-            this.netTools = new Optimizer.MoonTabs();
+            this.netTools = new System.Windows.Forms.TabControl();
             this.tabPage1 = new System.Windows.Forms.TabPage();
             this.tabPage1 = new System.Windows.Forms.TabPage();
             this.btnExport = new System.Windows.Forms.Button();
             this.btnExport = new System.Windows.Forms.Button();
             this.copyB = new System.Windows.Forms.Button();
             this.copyB = new System.Windows.Forms.Button();
@@ -279,7 +280,7 @@ namespace Optimizer
             this.btnSaveHW = new System.Windows.Forms.Button();
             this.btnSaveHW = new System.Windows.Forms.Button();
             this.hwDetailed = new Optimizer.ToggleCard();
             this.hwDetailed = new Optimizer.ToggleCard();
             this.integratorTab = new System.Windows.Forms.TabPage();
             this.integratorTab = new System.Windows.Forms.TabPage();
-            this.synapse = new Optimizer.MoonTabs();
+            this.synapse = new System.Windows.Forms.TabControl();
             this.integratorInfoTab = new System.Windows.Forms.TabPage();
             this.integratorInfoTab = new System.Windows.Forms.TabPage();
             this.integrator7 = new System.Windows.Forms.Label();
             this.integrator7 = new System.Windows.Forms.Label();
             this.integrator6 = new System.Windows.Forms.Label();
             this.integrator6 = new System.Windows.Forms.Label();
@@ -676,11 +677,11 @@ namespace Optimizer
             this.universalTab.Controls.Add(this.superfetchSw);
             this.universalTab.Controls.Add(this.superfetchSw);
             this.universalTab.Controls.Add(this.faxSw);
             this.universalTab.Controls.Add(this.faxSw);
             this.universalTab.Controls.Add(this.performanceSw);
             this.universalTab.Controls.Add(this.performanceSw);
-            this.universalTab.Location = new System.Drawing.Point(4, 25);
+            this.universalTab.Location = new System.Drawing.Point(4, 26);
             this.universalTab.Margin = new System.Windows.Forms.Padding(2);
             this.universalTab.Margin = new System.Windows.Forms.Padding(2);
             this.universalTab.Name = "universalTab";
             this.universalTab.Name = "universalTab";
             this.universalTab.Padding = new System.Windows.Forms.Padding(2);
             this.universalTab.Padding = new System.Windows.Forms.Padding(2);
-            this.universalTab.Size = new System.Drawing.Size(999, 650);
+            this.universalTab.Size = new System.Drawing.Size(999, 649);
             this.universalTab.TabIndex = 0;
             this.universalTab.TabIndex = 0;
             this.universalTab.Text = "Universal";
             this.universalTab.Text = "Universal";
             // 
             // 
@@ -1055,11 +1056,11 @@ namespace Optimizer
             this.windows10Tab.Controls.Add(this.oldExplorerSw);
             this.windows10Tab.Controls.Add(this.oldExplorerSw);
             this.windows10Tab.Controls.Add(this.adsSw);
             this.windows10Tab.Controls.Add(this.adsSw);
             this.windows10Tab.Controls.Add(this.panelWin11Tweaks);
             this.windows10Tab.Controls.Add(this.panelWin11Tweaks);
-            this.windows10Tab.Location = new System.Drawing.Point(4, 25);
+            this.windows10Tab.Location = new System.Drawing.Point(4, 26);
             this.windows10Tab.Margin = new System.Windows.Forms.Padding(2);
             this.windows10Tab.Margin = new System.Windows.Forms.Padding(2);
             this.windows10Tab.Name = "windows10Tab";
             this.windows10Tab.Name = "windows10Tab";
             this.windows10Tab.Padding = new System.Windows.Forms.Padding(2);
             this.windows10Tab.Padding = new System.Windows.Forms.Padding(2);
-            this.windows10Tab.Size = new System.Drawing.Size(999, 650);
+            this.windows10Tab.Size = new System.Drawing.Size(999, 649);
             this.windows10Tab.TabIndex = 1;
             this.windows10Tab.TabIndex = 1;
             this.windows10Tab.Text = "Windows 10";
             this.windows10Tab.Text = "Windows 10";
             // 
             // 
@@ -1395,6 +1396,7 @@ namespace Optimizer
             // 
             // 
             // panelWin11Tweaks
             // panelWin11Tweaks
             // 
             // 
+            this.panelWin11Tweaks.Controls.Add(this.vbsSw);
             this.panelWin11Tweaks.Controls.Add(this.stickersSw);
             this.panelWin11Tweaks.Controls.Add(this.stickersSw);
             this.panelWin11Tweaks.Controls.Add(this.compactModeSw);
             this.panelWin11Tweaks.Controls.Add(this.compactModeSw);
             this.panelWin11Tweaks.Controls.Add(this.classicRibbonSw);
             this.panelWin11Tweaks.Controls.Add(this.classicRibbonSw);
@@ -1404,12 +1406,27 @@ namespace Optimizer
             this.panelWin11Tweaks.Controls.Add(this.classicContextSw);
             this.panelWin11Tweaks.Controls.Add(this.classicContextSw);
             this.panelWin11Tweaks.Controls.Add(this.chatSw);
             this.panelWin11Tweaks.Controls.Add(this.chatSw);
             this.panelWin11Tweaks.Controls.Add(this.smallerTaskbarSw);
             this.panelWin11Tweaks.Controls.Add(this.smallerTaskbarSw);
-            this.panelWin11Tweaks.Location = new System.Drawing.Point(7, 423);
+            this.panelWin11Tweaks.Location = new System.Drawing.Point(7, 418);
             this.panelWin11Tweaks.Name = "panelWin11Tweaks";
             this.panelWin11Tweaks.Name = "panelWin11Tweaks";
             this.panelWin11Tweaks.Size = new System.Drawing.Size(985, 181);
             this.panelWin11Tweaks.Size = new System.Drawing.Size(985, 181);
             this.panelWin11Tweaks.TabIndex = 80;
             this.panelWin11Tweaks.TabIndex = 80;
             this.panelWin11Tweaks.Visible = false;
             this.panelWin11Tweaks.Visible = false;
             // 
             // 
+            // vbsSw
+            // 
+            this.vbsSw.AccessibleName = "Disable Virtualization Based Security";
+            this.vbsSw.AccessibleRole = System.Windows.Forms.AccessibleRole.CheckButton;
+            this.vbsSw.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
+            this.vbsSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.vbsSw.ForeColor = System.Drawing.Color.White;
+            this.vbsSw.LabelText = "Disable Virtualization Based Security";
+            this.vbsSw.Location = new System.Drawing.Point(437, 148);
+            this.vbsSw.Name = "vbsSw";
+            this.vbsSw.Size = new System.Drawing.Size(414, 24);
+            this.vbsSw.TabIndex = 114;
+            this.vbsSw.Tag = "themeable";
+            this.vbsSw.ToggleChecked = false;
+            // 
             // stickersSw
             // stickersSw
             // 
             // 
             this.stickersSw.AccessibleName = "Disable Stickers";
             this.stickersSw.AccessibleName = "Disable Stickers";
@@ -1549,11 +1566,11 @@ namespace Optimizer
             // 
             // 
             this.windows8Tab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.windows8Tab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.windows8Tab.Controls.Add(this.disableOneDriveSw);
             this.windows8Tab.Controls.Add(this.disableOneDriveSw);
-            this.windows8Tab.Location = new System.Drawing.Point(4, 25);
+            this.windows8Tab.Location = new System.Drawing.Point(4, 26);
             this.windows8Tab.Margin = new System.Windows.Forms.Padding(2);
             this.windows8Tab.Margin = new System.Windows.Forms.Padding(2);
             this.windows8Tab.Name = "windows8Tab";
             this.windows8Tab.Name = "windows8Tab";
             this.windows8Tab.Padding = new System.Windows.Forms.Padding(2);
             this.windows8Tab.Padding = new System.Windows.Forms.Padding(2);
-            this.windows8Tab.Size = new System.Drawing.Size(999, 650);
+            this.windows8Tab.Size = new System.Drawing.Size(999, 649);
             this.windows8Tab.TabIndex = 2;
             this.windows8Tab.TabIndex = 2;
             this.windows8Tab.Text = "Windows 8.1";
             this.windows8Tab.Text = "Windows 8.1";
             // 
             // 
@@ -1581,10 +1598,10 @@ namespace Optimizer
             this.modernAppsTab.Controls.Add(this.txtModernAppsTitle);
             this.modernAppsTab.Controls.Add(this.txtModernAppsTitle);
             this.modernAppsTab.Controls.Add(this.chkOnlyRemovable);
             this.modernAppsTab.Controls.Add(this.chkOnlyRemovable);
             this.modernAppsTab.Controls.Add(this.chkSelectAllModernApps);
             this.modernAppsTab.Controls.Add(this.chkSelectAllModernApps);
-            this.modernAppsTab.Location = new System.Drawing.Point(4, 25);
+            this.modernAppsTab.Location = new System.Drawing.Point(4, 26);
             this.modernAppsTab.Name = "modernAppsTab";
             this.modernAppsTab.Name = "modernAppsTab";
             this.modernAppsTab.Padding = new System.Windows.Forms.Padding(3);
             this.modernAppsTab.Padding = new System.Windows.Forms.Padding(3);
-            this.modernAppsTab.Size = new System.Drawing.Size(999, 650);
+            this.modernAppsTab.Size = new System.Drawing.Size(999, 649);
             this.modernAppsTab.TabIndex = 11;
             this.modernAppsTab.TabIndex = 11;
             this.modernAppsTab.Text = "UWP Apps";
             this.modernAppsTab.Text = "UWP Apps";
             // 
             // 
@@ -1687,10 +1704,10 @@ namespace Optimizer
             this.startupTab.Controls.Add(this.panel3);
             this.startupTab.Controls.Add(this.panel3);
             this.startupTab.Controls.Add(this.removeStartupItemB);
             this.startupTab.Controls.Add(this.removeStartupItemB);
             this.startupTab.Controls.Add(this.startupTitle);
             this.startupTab.Controls.Add(this.startupTitle);
-            this.startupTab.Location = new System.Drawing.Point(4, 25);
+            this.startupTab.Location = new System.Drawing.Point(4, 26);
             this.startupTab.Margin = new System.Windows.Forms.Padding(2);
             this.startupTab.Margin = new System.Windows.Forms.Padding(2);
             this.startupTab.Name = "startupTab";
             this.startupTab.Name = "startupTab";
-            this.startupTab.Size = new System.Drawing.Size(999, 650);
+            this.startupTab.Size = new System.Drawing.Size(999, 649);
             this.startupTab.TabIndex = 7;
             this.startupTab.TabIndex = 7;
             this.startupTab.Text = "Startup";
             this.startupTab.Text = "Startup";
             // 
             // 
@@ -1944,10 +1961,10 @@ namespace Optimizer
             this.appsTab.Controls.Add(this.panel10);
             this.appsTab.Controls.Add(this.panel10);
             this.appsTab.Controls.Add(this.panelCommonApps);
             this.appsTab.Controls.Add(this.panelCommonApps);
             this.appsTab.Controls.Add(this.groupSystemTools);
             this.appsTab.Controls.Add(this.groupSystemTools);
-            this.appsTab.Location = new System.Drawing.Point(4, 25);
+            this.appsTab.Location = new System.Drawing.Point(4, 26);
             this.appsTab.Name = "appsTab";
             this.appsTab.Name = "appsTab";
             this.appsTab.Padding = new System.Windows.Forms.Padding(3);
             this.appsTab.Padding = new System.Windows.Forms.Padding(3);
-            this.appsTab.Size = new System.Drawing.Size(999, 650);
+            this.appsTab.Size = new System.Drawing.Size(999, 649);
             this.appsTab.TabIndex = 12;
             this.appsTab.TabIndex = 12;
             this.appsTab.Text = "Apps";
             this.appsTab.Text = "Apps";
             // 
             // 
@@ -1959,7 +1976,7 @@ namespace Optimizer
             this.txtFeedError.ForeColor = System.Drawing.Color.Gold;
             this.txtFeedError.ForeColor = System.Drawing.Color.Gold;
             this.txtFeedError.Location = new System.Drawing.Point(3, 47);
             this.txtFeedError.Location = new System.Drawing.Point(3, 47);
             this.txtFeedError.Name = "txtFeedError";
             this.txtFeedError.Name = "txtFeedError";
-            this.txtFeedError.Size = new System.Drawing.Size(993, 480);
+            this.txtFeedError.Size = new System.Drawing.Size(993, 479);
             this.txtFeedError.TabIndex = 171;
             this.txtFeedError.TabIndex = 171;
             this.txtFeedError.Text = "No internet connection, try refreshing links again";
             this.txtFeedError.Text = "No internet connection, try refreshing links again";
             this.txtFeedError.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             this.txtFeedError.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -2106,7 +2123,7 @@ namespace Optimizer
             this.panelCommonApps.Controls.Add(this.bitPref);
             this.panelCommonApps.Controls.Add(this.bitPref);
             this.panelCommonApps.Controls.Add(this.goToDownloadsB);
             this.panelCommonApps.Controls.Add(this.goToDownloadsB);
             this.panelCommonApps.Dock = System.Windows.Forms.DockStyle.Bottom;
             this.panelCommonApps.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.panelCommonApps.Location = new System.Drawing.Point(3, 527);
+            this.panelCommonApps.Location = new System.Drawing.Point(3, 526);
             this.panelCommonApps.Name = "panelCommonApps";
             this.panelCommonApps.Name = "panelCommonApps";
             this.panelCommonApps.Size = new System.Drawing.Size(993, 120);
             this.panelCommonApps.Size = new System.Drawing.Size(993, 120);
             this.panelCommonApps.TabIndex = 162;
             this.panelCommonApps.TabIndex = 162;
@@ -2298,11 +2315,11 @@ namespace Optimizer
             this.cleanerTab.Controls.Add(this.panel14);
             this.cleanerTab.Controls.Add(this.panel14);
             this.cleanerTab.Controls.Add(this.panel13);
             this.cleanerTab.Controls.Add(this.panel13);
             this.cleanerTab.Controls.Add(this.panel1);
             this.cleanerTab.Controls.Add(this.panel1);
-            this.cleanerTab.Location = new System.Drawing.Point(4, 25);
+            this.cleanerTab.Location = new System.Drawing.Point(4, 26);
             this.cleanerTab.Margin = new System.Windows.Forms.Padding(2);
             this.cleanerTab.Margin = new System.Windows.Forms.Padding(2);
             this.cleanerTab.Name = "cleanerTab";
             this.cleanerTab.Name = "cleanerTab";
             this.cleanerTab.Padding = new System.Windows.Forms.Padding(2);
             this.cleanerTab.Padding = new System.Windows.Forms.Padding(2);
-            this.cleanerTab.Size = new System.Drawing.Size(999, 650);
+            this.cleanerTab.Size = new System.Drawing.Size(999, 649);
             this.cleanerTab.TabIndex = 5;
             this.cleanerTab.TabIndex = 5;
             this.cleanerTab.Text = "Cleaner";
             this.cleanerTab.Text = "Cleaner";
             // 
             // 
@@ -2313,7 +2330,7 @@ namespace Optimizer
             this.panel14.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel14.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel14.Location = new System.Drawing.Point(221, 2);
             this.panel14.Location = new System.Drawing.Point(221, 2);
             this.panel14.Name = "panel14";
             this.panel14.Name = "panel14";
-            this.panel14.Size = new System.Drawing.Size(776, 585);
+            this.panel14.Size = new System.Drawing.Size(776, 584);
             this.panel14.TabIndex = 51;
             this.panel14.TabIndex = 51;
             // 
             // 
             // listCleanPreview
             // listCleanPreview
@@ -2327,7 +2344,7 @@ namespace Optimizer
             this.listCleanPreview.HorizontalScrollbar = true;
             this.listCleanPreview.HorizontalScrollbar = true;
             this.listCleanPreview.Location = new System.Drawing.Point(0, 0);
             this.listCleanPreview.Location = new System.Drawing.Point(0, 0);
             this.listCleanPreview.Name = "listCleanPreview";
             this.listCleanPreview.Name = "listCleanPreview";
-            this.listCleanPreview.Size = new System.Drawing.Size(774, 583);
+            this.listCleanPreview.Size = new System.Drawing.Size(774, 582);
             this.listCleanPreview.TabIndex = 1;
             this.listCleanPreview.TabIndex = 1;
             // 
             // 
             // panel13
             // panel13
@@ -2340,7 +2357,7 @@ namespace Optimizer
             this.panel13.Controls.Add(this.cleanDriveB);
             this.panel13.Controls.Add(this.cleanDriveB);
             this.panel13.Controls.Add(this.lblFootprint);
             this.panel13.Controls.Add(this.lblFootprint);
             this.panel13.Dock = System.Windows.Forms.DockStyle.Bottom;
             this.panel13.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.panel13.Location = new System.Drawing.Point(221, 587);
+            this.panel13.Location = new System.Drawing.Point(221, 586);
             this.panel13.Name = "panel13";
             this.panel13.Name = "panel13";
             this.panel13.Size = new System.Drawing.Size(776, 61);
             this.panel13.Size = new System.Drawing.Size(776, 61);
             this.panel13.TabIndex = 50;
             this.panel13.TabIndex = 50;
@@ -2488,7 +2505,7 @@ namespace Optimizer
             this.panel1.Location = new System.Drawing.Point(2, 2);
             this.panel1.Location = new System.Drawing.Point(2, 2);
             this.panel1.Margin = new System.Windows.Forms.Padding(2);
             this.panel1.Margin = new System.Windows.Forms.Padding(2);
             this.panel1.Name = "panel1";
             this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(219, 646);
+            this.panel1.Size = new System.Drawing.Size(219, 645);
             this.panel1.TabIndex = 47;
             this.panel1.TabIndex = 47;
             // 
             // 
             // bravePasswords
             // bravePasswords
@@ -2919,10 +2936,10 @@ namespace Optimizer
             // 
             // 
             this.pingerTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.pingerTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.pingerTab.Controls.Add(this.netTools);
             this.pingerTab.Controls.Add(this.netTools);
-            this.pingerTab.Location = new System.Drawing.Point(4, 25);
+            this.pingerTab.Location = new System.Drawing.Point(4, 26);
             this.pingerTab.Name = "pingerTab";
             this.pingerTab.Name = "pingerTab";
             this.pingerTab.Padding = new System.Windows.Forms.Padding(3);
             this.pingerTab.Padding = new System.Windows.Forms.Padding(3);
-            this.pingerTab.Size = new System.Drawing.Size(999, 650);
+            this.pingerTab.Size = new System.Drawing.Size(999, 649);
             this.pingerTab.TabIndex = 13;
             this.pingerTab.TabIndex = 13;
             this.pingerTab.Text = "Pinger";
             this.pingerTab.Text = "Pinger";
             // 
             // 
@@ -2938,7 +2955,7 @@ namespace Optimizer
             this.netTools.Name = "netTools";
             this.netTools.Name = "netTools";
             this.netTools.Padding = new System.Drawing.Point(0, 0);
             this.netTools.Padding = new System.Drawing.Point(0, 0);
             this.netTools.SelectedIndex = 0;
             this.netTools.SelectedIndex = 0;
-            this.netTools.Size = new System.Drawing.Size(993, 644);
+            this.netTools.Size = new System.Drawing.Size(993, 643);
             this.netTools.TabIndex = 104;
             this.netTools.TabIndex = 104;
             // 
             // 
             // tabPage1
             // tabPage1
@@ -2957,7 +2974,7 @@ namespace Optimizer
             this.tabPage1.Location = new System.Drawing.Point(4, 4);
             this.tabPage1.Location = new System.Drawing.Point(4, 4);
             this.tabPage1.Name = "tabPage1";
             this.tabPage1.Name = "tabPage1";
             this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
             this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(985, 615);
+            this.tabPage1.Size = new System.Drawing.Size(985, 613);
             this.tabPage1.TabIndex = 0;
             this.tabPage1.TabIndex = 0;
             this.tabPage1.Text = "Pinger";
             this.tabPage1.Text = "Pinger";
             // 
             // 
@@ -3142,7 +3159,7 @@ namespace Optimizer
             this.tabPage2.Location = new System.Drawing.Point(4, 4);
             this.tabPage2.Location = new System.Drawing.Point(4, 4);
             this.tabPage2.Name = "tabPage2";
             this.tabPage2.Name = "tabPage2";
             this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
             this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage2.Size = new System.Drawing.Size(985, 615);
+            this.tabPage2.Size = new System.Drawing.Size(985, 613);
             this.tabPage2.TabIndex = 1;
             this.tabPage2.TabIndex = 1;
             this.tabPage2.Text = "DNS";
             this.tabPage2.Text = "DNS";
             // 
             // 
@@ -3323,11 +3340,11 @@ namespace Optimizer
             this.hostsEditorTab.Controls.Add(this.panel4);
             this.hostsEditorTab.Controls.Add(this.panel4);
             this.hostsEditorTab.Controls.Add(this.hostsTitle);
             this.hostsEditorTab.Controls.Add(this.hostsTitle);
             this.hostsEditorTab.Controls.Add(this.linkLocate);
             this.hostsEditorTab.Controls.Add(this.linkLocate);
-            this.hostsEditorTab.Location = new System.Drawing.Point(4, 25);
+            this.hostsEditorTab.Location = new System.Drawing.Point(4, 26);
             this.hostsEditorTab.Margin = new System.Windows.Forms.Padding(2);
             this.hostsEditorTab.Margin = new System.Windows.Forms.Padding(2);
             this.hostsEditorTab.Name = "hostsEditorTab";
             this.hostsEditorTab.Name = "hostsEditorTab";
             this.hostsEditorTab.Padding = new System.Windows.Forms.Padding(2);
             this.hostsEditorTab.Padding = new System.Windows.Forms.Padding(2);
-            this.hostsEditorTab.Size = new System.Drawing.Size(999, 650);
+            this.hostsEditorTab.Size = new System.Drawing.Size(999, 649);
             this.hostsEditorTab.TabIndex = 9;
             this.hostsEditorTab.TabIndex = 9;
             this.hostsEditorTab.Text = "Hosts";
             this.hostsEditorTab.Text = "Hosts";
             // 
             // 
@@ -3619,11 +3636,11 @@ namespace Optimizer
             this.registryFixerTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.registryFixerTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.registryFixerTab.Controls.Add(this.panel2);
             this.registryFixerTab.Controls.Add(this.panel2);
             this.registryFixerTab.Controls.Add(this.registryTitle);
             this.registryFixerTab.Controls.Add(this.registryTitle);
-            this.registryFixerTab.Location = new System.Drawing.Point(4, 25);
+            this.registryFixerTab.Location = new System.Drawing.Point(4, 26);
             this.registryFixerTab.Margin = new System.Windows.Forms.Padding(2);
             this.registryFixerTab.Margin = new System.Windows.Forms.Padding(2);
             this.registryFixerTab.Name = "registryFixerTab";
             this.registryFixerTab.Name = "registryFixerTab";
             this.registryFixerTab.Padding = new System.Windows.Forms.Padding(2);
             this.registryFixerTab.Padding = new System.Windows.Forms.Padding(2);
-            this.registryFixerTab.Size = new System.Drawing.Size(999, 650);
+            this.registryFixerTab.Size = new System.Drawing.Size(999, 649);
             this.registryFixerTab.TabIndex = 8;
             this.registryFixerTab.TabIndex = 8;
             this.registryFixerTab.Text = "Registry";
             this.registryFixerTab.Text = "Registry";
             // 
             // 
@@ -3829,10 +3846,10 @@ namespace Optimizer
             this.indiciumTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.indiciumTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.indiciumTab.Controls.Add(this.panel12);
             this.indiciumTab.Controls.Add(this.panel12);
             this.indiciumTab.Controls.Add(this.panel11);
             this.indiciumTab.Controls.Add(this.panel11);
-            this.indiciumTab.Location = new System.Drawing.Point(4, 25);
+            this.indiciumTab.Location = new System.Drawing.Point(4, 26);
             this.indiciumTab.Name = "indiciumTab";
             this.indiciumTab.Name = "indiciumTab";
             this.indiciumTab.Padding = new System.Windows.Forms.Padding(3);
             this.indiciumTab.Padding = new System.Windows.Forms.Padding(3);
-            this.indiciumTab.Size = new System.Drawing.Size(999, 650);
+            this.indiciumTab.Size = new System.Drawing.Size(999, 649);
             this.indiciumTab.TabIndex = 14;
             this.indiciumTab.TabIndex = 14;
             this.indiciumTab.Text = "Hardware";
             this.indiciumTab.Text = "Hardware";
             // 
             // 
@@ -3843,7 +3860,7 @@ namespace Optimizer
             this.panel12.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel12.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel12.Location = new System.Drawing.Point(3, 38);
             this.panel12.Location = new System.Drawing.Point(3, 38);
             this.panel12.Name = "panel12";
             this.panel12.Name = "panel12";
-            this.panel12.Size = new System.Drawing.Size(993, 609);
+            this.panel12.Size = new System.Drawing.Size(993, 608);
             this.panel12.TabIndex = 2;
             this.panel12.TabIndex = 2;
             // 
             // 
             // specsTree
             // specsTree
@@ -3857,48 +3874,48 @@ namespace Optimizer
             this.specsTree.ForeColor = System.Drawing.Color.White;
             this.specsTree.ForeColor = System.Drawing.Color.White;
             this.specsTree.Location = new System.Drawing.Point(0, 0);
             this.specsTree.Location = new System.Drawing.Point(0, 0);
             this.specsTree.Name = "specsTree";
             this.specsTree.Name = "specsTree";
-            treeNode9.ImageIndex = 0;
-            treeNode9.Name = "cpu";
-            treeNode9.SelectedImageIndex = 0;
-            treeNode9.Text = "Processors";
-            treeNode10.ImageIndex = 1;
-            treeNode10.Name = "ram";
-            treeNode10.SelectedImageIndex = 1;
-            treeNode10.Text = "Memory";
-            treeNode11.ImageIndex = 2;
-            treeNode11.Name = "gpu";
-            treeNode11.SelectedImageIndex = 2;
-            treeNode11.Text = "Graphics";
-            treeNode12.ImageIndex = 3;
-            treeNode12.Name = "mobo";
-            treeNode12.SelectedImageIndex = 3;
-            treeNode12.Text = "Motherboard";
-            treeNode13.ImageIndex = 4;
-            treeNode13.Name = "disk";
-            treeNode13.SelectedImageIndex = 4;
-            treeNode13.Text = "Storage";
-            treeNode14.ImageIndex = 5;
-            treeNode14.Name = "inet";
-            treeNode14.SelectedImageIndex = 5;
-            treeNode14.Text = "Network Adapters";
-            treeNode15.ImageIndex = 6;
-            treeNode15.Name = "audio";
-            treeNode15.SelectedImageIndex = 6;
-            treeNode15.Text = "Audio";
-            treeNode16.ImageIndex = 7;
-            treeNode16.Name = "dev";
-            treeNode16.SelectedImageIndex = 7;
-            treeNode16.Text = "Peripherals";
+            treeNode1.ImageIndex = 0;
+            treeNode1.Name = "cpu";
+            treeNode1.SelectedImageIndex = 0;
+            treeNode1.Text = "Processors";
+            treeNode2.ImageIndex = 1;
+            treeNode2.Name = "ram";
+            treeNode2.SelectedImageIndex = 1;
+            treeNode2.Text = "Memory";
+            treeNode3.ImageIndex = 2;
+            treeNode3.Name = "gpu";
+            treeNode3.SelectedImageIndex = 2;
+            treeNode3.Text = "Graphics";
+            treeNode4.ImageIndex = 3;
+            treeNode4.Name = "mobo";
+            treeNode4.SelectedImageIndex = 3;
+            treeNode4.Text = "Motherboard";
+            treeNode5.ImageIndex = 4;
+            treeNode5.Name = "disk";
+            treeNode5.SelectedImageIndex = 4;
+            treeNode5.Text = "Storage";
+            treeNode6.ImageIndex = 5;
+            treeNode6.Name = "inet";
+            treeNode6.SelectedImageIndex = 5;
+            treeNode6.Text = "Network Adapters";
+            treeNode7.ImageIndex = 6;
+            treeNode7.Name = "audio";
+            treeNode7.SelectedImageIndex = 6;
+            treeNode7.Text = "Audio";
+            treeNode8.ImageIndex = 7;
+            treeNode8.Name = "dev";
+            treeNode8.SelectedImageIndex = 7;
+            treeNode8.Text = "Peripherals";
             this.specsTree.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
             this.specsTree.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
-            treeNode9,
-            treeNode10,
-            treeNode11,
-            treeNode12,
-            treeNode13,
-            treeNode14,
-            treeNode15,
-            treeNode16});
-            this.specsTree.Size = new System.Drawing.Size(991, 607);
+            treeNode1,
+            treeNode2,
+            treeNode3,
+            treeNode4,
+            treeNode5,
+            treeNode6,
+            treeNode7,
+            treeNode8});
+            this.specsTree.Size = new System.Drawing.Size(991, 606);
             this.specsTree.TabIndex = 0;
             this.specsTree.TabIndex = 0;
             this.specsTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.specsTree_NodeMouseClick);
             this.specsTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.specsTree_NodeMouseClick);
             // 
             // 
@@ -4016,11 +4033,11 @@ namespace Optimizer
             // 
             // 
             this.integratorTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.integratorTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.integratorTab.Controls.Add(this.synapse);
             this.integratorTab.Controls.Add(this.synapse);
-            this.integratorTab.Location = new System.Drawing.Point(4, 25);
+            this.integratorTab.Location = new System.Drawing.Point(4, 26);
             this.integratorTab.Margin = new System.Windows.Forms.Padding(2);
             this.integratorTab.Margin = new System.Windows.Forms.Padding(2);
             this.integratorTab.Name = "integratorTab";
             this.integratorTab.Name = "integratorTab";
             this.integratorTab.Padding = new System.Windows.Forms.Padding(2);
             this.integratorTab.Padding = new System.Windows.Forms.Padding(2);
-            this.integratorTab.Size = new System.Drawing.Size(999, 650);
+            this.integratorTab.Size = new System.Drawing.Size(999, 649);
             this.integratorTab.TabIndex = 10;
             this.integratorTab.TabIndex = 10;
             this.integratorTab.Text = "Integrator";
             this.integratorTab.Text = "Integrator";
             // 
             // 
@@ -4039,7 +4056,7 @@ namespace Optimizer
             this.synapse.Name = "synapse";
             this.synapse.Name = "synapse";
             this.synapse.Padding = new System.Drawing.Point(0, 0);
             this.synapse.Padding = new System.Drawing.Point(0, 0);
             this.synapse.SelectedIndex = 0;
             this.synapse.SelectedIndex = 0;
-            this.synapse.Size = new System.Drawing.Size(995, 646);
+            this.synapse.Size = new System.Drawing.Size(995, 645);
             this.synapse.TabIndex = 0;
             this.synapse.TabIndex = 0;
             // 
             // 
             // integratorInfoTab
             // integratorInfoTab
@@ -4056,7 +4073,7 @@ namespace Optimizer
             this.integratorInfoTab.Margin = new System.Windows.Forms.Padding(2);
             this.integratorInfoTab.Margin = new System.Windows.Forms.Padding(2);
             this.integratorInfoTab.Name = "integratorInfoTab";
             this.integratorInfoTab.Name = "integratorInfoTab";
             this.integratorInfoTab.Padding = new System.Windows.Forms.Padding(2);
             this.integratorInfoTab.Padding = new System.Windows.Forms.Padding(2);
-            this.integratorInfoTab.Size = new System.Drawing.Size(987, 617);
+            this.integratorInfoTab.Size = new System.Drawing.Size(987, 615);
             this.integratorInfoTab.TabIndex = 0;
             this.integratorInfoTab.TabIndex = 0;
             this.integratorInfoTab.Text = "Info";
             this.integratorInfoTab.Text = "Info";
             // 
             // 
@@ -4164,7 +4181,7 @@ namespace Optimizer
             this.tabPage8.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage8.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage8.Name = "tabPage8";
             this.tabPage8.Name = "tabPage8";
             this.tabPage8.Padding = new System.Windows.Forms.Padding(2);
             this.tabPage8.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage8.Size = new System.Drawing.Size(987, 617);
+            this.tabPage8.Size = new System.Drawing.Size(987, 615);
             this.tabPage8.TabIndex = 1;
             this.tabPage8.TabIndex = 1;
             this.tabPage8.Text = "Add/Modify";
             this.tabPage8.Text = "Add/Modify";
             // 
             // 
@@ -4508,7 +4525,7 @@ namespace Optimizer
             this.tabPage9.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage9.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage9.Name = "tabPage9";
             this.tabPage9.Name = "tabPage9";
             this.tabPage9.Padding = new System.Windows.Forms.Padding(2);
             this.tabPage9.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage9.Size = new System.Drawing.Size(987, 617);
+            this.tabPage9.Size = new System.Drawing.Size(987, 615);
             this.tabPage9.TabIndex = 2;
             this.tabPage9.TabIndex = 2;
             this.tabPage9.Text = "Remove";
             this.tabPage9.Text = "Remove";
             // 
             // 
@@ -4618,7 +4635,7 @@ namespace Optimizer
             this.tabPage10.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage10.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage10.Name = "tabPage10";
             this.tabPage10.Name = "tabPage10";
             this.tabPage10.Padding = new System.Windows.Forms.Padding(2);
             this.tabPage10.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage10.Size = new System.Drawing.Size(987, 617);
+            this.tabPage10.Size = new System.Drawing.Size(987, 615);
             this.tabPage10.TabIndex = 3;
             this.tabPage10.TabIndex = 3;
             this.tabPage10.Text = "Ready Menus";
             this.tabPage10.Text = "Ready Menus";
             // 
             // 
@@ -4758,7 +4775,7 @@ namespace Optimizer
             this.tabPage11.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage11.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage11.Name = "tabPage11";
             this.tabPage11.Name = "tabPage11";
             this.tabPage11.Padding = new System.Windows.Forms.Padding(2);
             this.tabPage11.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage11.Size = new System.Drawing.Size(987, 617);
+            this.tabPage11.Size = new System.Drawing.Size(987, 615);
             this.tabPage11.TabIndex = 4;
             this.tabPage11.TabIndex = 4;
             this.tabPage11.Text = "Run Dialog";
             this.tabPage11.Text = "Run Dialog";
             // 
             // 
@@ -4959,11 +4976,11 @@ namespace Optimizer
             this.optionsTab.Controls.Add(this.lblTheming);
             this.optionsTab.Controls.Add(this.lblTheming);
             this.optionsTab.Controls.Add(this.quickAccessToggle);
             this.optionsTab.Controls.Add(this.quickAccessToggle);
             this.optionsTab.Controls.Add(this.helpTipsToggle);
             this.optionsTab.Controls.Add(this.helpTipsToggle);
-            this.optionsTab.Location = new System.Drawing.Point(4, 25);
+            this.optionsTab.Location = new System.Drawing.Point(4, 26);
             this.optionsTab.Margin = new System.Windows.Forms.Padding(2);
             this.optionsTab.Margin = new System.Windows.Forms.Padding(2);
             this.optionsTab.Name = "optionsTab";
             this.optionsTab.Name = "optionsTab";
             this.optionsTab.Padding = new System.Windows.Forms.Padding(2);
             this.optionsTab.Padding = new System.Windows.Forms.Padding(2);
-            this.optionsTab.Size = new System.Drawing.Size(999, 650);
+            this.optionsTab.Size = new System.Drawing.Size(999, 649);
             this.optionsTab.TabIndex = 6;
             this.optionsTab.TabIndex = 6;
             this.optionsTab.Text = "Options";
             this.optionsTab.Text = "Options";
             // 
             // 
@@ -5715,7 +5732,7 @@ namespace Optimizer
         private System.Windows.Forms.PictureBox pictureBox1;
         private System.Windows.Forms.PictureBox pictureBox1;
         private System.Windows.Forms.Label label2;
         private System.Windows.Forms.Label label2;
         private System.Windows.Forms.Panel bpanel;
         private System.Windows.Forms.Panel bpanel;
-        private Optimizer.MoonTabs tabCollection;
+        private System.Windows.Forms.TabControl tabCollection;
         private System.Windows.Forms.TabPage universalTab;
         private System.Windows.Forms.TabPage universalTab;
         private System.Windows.Forms.TabPage windows10Tab;
         private System.Windows.Forms.TabPage windows10Tab;
         private System.Windows.Forms.TabPage windows8Tab;
         private System.Windows.Forms.TabPage windows8Tab;
@@ -5761,7 +5778,7 @@ namespace Optimizer
         private System.Windows.Forms.Button addHostB;
         private System.Windows.Forms.Button addHostB;
         private System.Windows.Forms.TextBox txtIP;
         private System.Windows.Forms.TextBox txtIP;
         private System.Windows.Forms.TabPage integratorTab;
         private System.Windows.Forms.TabPage integratorTab;
-        private Optimizer.MoonTabs synapse;
+        private System.Windows.Forms.TabControl synapse;
         private System.Windows.Forms.TabPage integratorInfoTab;
         private System.Windows.Forms.TabPage integratorInfoTab;
         private System.Windows.Forms.TabPage tabPage8;
         private System.Windows.Forms.TabPage tabPage8;
         private System.Windows.Forms.TabPage tabPage9;
         private System.Windows.Forms.TabPage tabPage9;
@@ -6060,8 +6077,9 @@ namespace Optimizer
         private Controls.ColorPicker colorPicker1;
         private Controls.ColorPicker colorPicker1;
         private ToggleCard autoStartToggle;
         private ToggleCard autoStartToggle;
         private ToggleCard nvidiaTelemetrySw;
         private ToggleCard nvidiaTelemetrySw;
-        private Optimizer.MoonTabs netTools;
+        private System.Windows.Forms.TabControl netTools;
         private Label dnsTitle;
         private Label dnsTitle;
+        private ToggleCard vbsSw;
     }
     }
 }
 }
 
 

+ 17 - 0
Optimizer/Forms/MainForm.cs

@@ -261,6 +261,7 @@ namespace Optimizer
             smb2Sw.ToggleClicked += Smb2Sw_ToggleClicked;
             smb2Sw.ToggleClicked += Smb2Sw_ToggleClicked;
             ntfsStampSw.ToggleClicked += NtfsStampSw_ToggleClicked;
             ntfsStampSw.ToggleClicked += NtfsStampSw_ToggleClicked;
             nvidiaTelemetrySw.ToggleClicked += NvidiaTelemetrySw_ToggleClicked;
             nvidiaTelemetrySw.ToggleClicked += NvidiaTelemetrySw_ToggleClicked;
+            vbsSw.ToggleClicked += VbsSw_ToggleClicked;
 
 
             PMB.ToggleClicked += PMB_ToggleClicked;
             PMB.ToggleClicked += PMB_ToggleClicked;
             SSB.ToggleClicked += SSB_ToggleClicked;
             SSB.ToggleClicked += SSB_ToggleClicked;
@@ -271,6 +272,20 @@ namespace Optimizer
             AddOwnerB.ToggleClicked += AddOwnerB_ToggleClicked;
             AddOwnerB.ToggleClicked += AddOwnerB_ToggleClicked;
         }
         }
 
 
+        private void VbsSw_ToggleClicked(object sender, EventArgs e)
+        {
+            if (vbsSw.ToggleChecked)
+            {
+                Optimize.DisableVirtualizationBasedSecurity();
+            }
+            else
+            {
+                Optimize.EnableVirtualizationBasedSecurity();
+            }
+            Options.CurrentOptions.DisableVBS = vbsSw.ToggleChecked;
+            ShowRestartNeeded();
+        }
+
         private void NvidiaTelemetrySw_ToggleClicked(object sender, EventArgs e)
         private void NvidiaTelemetrySw_ToggleClicked(object sender, EventArgs e)
         {
         {
             if (nvidiaTelemetrySw.ToggleChecked)
             if (nvidiaTelemetrySw.ToggleChecked)
@@ -588,6 +603,7 @@ namespace Optimizer
             smb2Sw.Label.Tag = Options.TranslationList["smbTip"].ToString().Replace("{v}", "v2");
             smb2Sw.Label.Tag = Options.TranslationList["smbTip"].ToString().Replace("{v}", "v2");
             ntfsStampSw.Label.Tag = Options.TranslationList["ntfsStampTip"].ToString();
             ntfsStampSw.Label.Tag = Options.TranslationList["ntfsStampTip"].ToString();
             nvidiaTelemetrySw.Label.Tag = Options.TranslationList["nvidiaTelemetrySw"].ToString();
             nvidiaTelemetrySw.Label.Tag = Options.TranslationList["nvidiaTelemetrySw"].ToString();
+            vbsSw.Label.Tag = Options.TranslationList["vbsTip"].ToString();
         }
         }
 
 
         private void ToggleSwitch40_Click(object sender, EventArgs e)
         private void ToggleSwitch40_Click(object sender, EventArgs e)
@@ -2176,6 +2192,7 @@ namespace Optimizer
             classicContextSw.ToggleChecked = Options.CurrentOptions.ClassicMenu;
             classicContextSw.ToggleChecked = Options.CurrentOptions.ClassicMenu;
             tpmSw.ToggleChecked = Options.CurrentOptions.DisableTPMCheck;
             tpmSw.ToggleChecked = Options.CurrentOptions.DisableTPMCheck;
             compactModeSw.ToggleChecked = Options.CurrentOptions.CompactMode;
             compactModeSw.ToggleChecked = Options.CurrentOptions.CompactMode;
+            vbsSw.ToggleChecked = Options.CurrentOptions.DisableVBS;
         }
         }
 
 
         private void Main_Load(object sender, EventArgs e)
         private void Main_Load(object sender, EventArgs e)

+ 1 - 1
Optimizer/Forms/MainForm.resx

@@ -751,7 +751,7 @@ any application only by typing your desired keyword.</value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC0
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC0
-        GgAAAk1TRnQBSQFMAgEBCQEAAXABDAFwAQwBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
+        GgAAAk1TRnQBSQFMAgEBCQEAAYABDAGAAQwBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
         AwABYAMAAQEBAAEgBgABwP8A/wD/AP8A/wD/AP8A/wAeAANHAYB0//8AiQADRwGAdP//AIkAAyoBQANH
         AwABYAMAAQEBAAEgBgABwP8A/wD/AP8A/wD/AP8A/wAeAANHAYB0//8AiQADRwGAdP//AIkAAyoBQANH
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANH
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANH
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA/wD/AP8A
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA/wD/AP8A

+ 5 - 5
Optimizer/Forms/SubForm.Designer.cs

@@ -43,14 +43,14 @@
             this.txtInfo.BorderStyle = System.Windows.Forms.BorderStyle.None;
             this.txtInfo.BorderStyle = System.Windows.Forms.BorderStyle.None;
             this.txtInfo.Cursor = System.Windows.Forms.Cursors.Arrow;
             this.txtInfo.Cursor = System.Windows.Forms.Cursors.Arrow;
             this.txtInfo.DetectUrls = false;
             this.txtInfo.DetectUrls = false;
-            this.txtInfo.Font = new System.Drawing.Font("Segoe UI Semibold", 11F, System.Drawing.FontStyle.Bold);
+            this.txtInfo.Font = new System.Drawing.Font("Segoe UI Semibold", 10.5F, System.Drawing.FontStyle.Bold);
             this.txtInfo.ForeColor = System.Drawing.Color.White;
             this.txtInfo.ForeColor = System.Drawing.Color.White;
             this.txtInfo.Location = new System.Drawing.Point(11, 11);
             this.txtInfo.Location = new System.Drawing.Point(11, 11);
             this.txtInfo.Name = "txtInfo";
             this.txtInfo.Name = "txtInfo";
             this.txtInfo.ReadOnly = true;
             this.txtInfo.ReadOnly = true;
             this.txtInfo.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
             this.txtInfo.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
             this.txtInfo.ShortcutsEnabled = false;
             this.txtInfo.ShortcutsEnabled = false;
-            this.txtInfo.Size = new System.Drawing.Size(369, 222);
+            this.txtInfo.Size = new System.Drawing.Size(372, 248);
             this.txtInfo.TabIndex = 0;
             this.txtInfo.TabIndex = 0;
             this.txtInfo.Text = "";
             this.txtInfo.Text = "";
             // 
             // 
@@ -62,7 +62,7 @@
             this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel1.Location = new System.Drawing.Point(0, 0);
             this.panel1.Location = new System.Drawing.Point(0, 0);
             this.panel1.Name = "panel1";
             this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(393, 246);
+            this.panel1.Size = new System.Drawing.Size(396, 272);
             this.panel1.TabIndex = 1;
             this.panel1.TabIndex = 1;
             // 
             // 
             // btnStart
             // btnStart
@@ -77,7 +77,7 @@
             this.btnStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnStart.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.btnStart.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.btnStart.ForeColor = System.Drawing.Color.White;
             this.btnStart.ForeColor = System.Drawing.Color.White;
-            this.btnStart.Location = new System.Drawing.Point(314, 202);
+            this.btnStart.Location = new System.Drawing.Point(317, 228);
             this.btnStart.Margin = new System.Windows.Forms.Padding(2);
             this.btnStart.Margin = new System.Windows.Forms.Padding(2);
             this.btnStart.Name = "btnStart";
             this.btnStart.Name = "btnStart";
             this.btnStart.Size = new System.Drawing.Size(67, 31);
             this.btnStart.Size = new System.Drawing.Size(67, 31);
@@ -94,7 +94,7 @@
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
             this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
             this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
             this.CancelButton = this.btnStart;
             this.CancelButton = this.btnStart;
-            this.ClientSize = new System.Drawing.Size(393, 246);
+            this.ClientSize = new System.Drawing.Size(396, 272);
             this.ControlBox = false;
             this.ControlBox = false;
             this.Controls.Add(this.panel1);
             this.Controls.Add(this.panel1);
             this.DoubleBuffered = true;
             this.DoubleBuffered = true;

+ 13 - 0
Optimizer/Optimize.cs

@@ -2,6 +2,7 @@
 using System;
 using System;
 using System.Diagnostics;
 using System.Diagnostics;
 using System.IO;
 using System.IO;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement.Rebar;
 
 
 namespace Optimizer
 namespace Optimizer
 {
 {
@@ -940,6 +941,7 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "PersonalizationReportingEnabled", 0);
             Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "PersonalizationReportingEnabled", 0);
             Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "UserFeedbackAllowed", 0);
             Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge", "UserFeedbackAllowed", 0);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "UserFeedbackAllowed", 0);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "UserFeedbackAllowed", 0);
+            Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\SearchSettings", "SafeSearchMode", 0, RegistryValueKind.DWord);
 
 
             // Privacy -> Activity history -> Send my activity history to Microsoft
             // Privacy -> Activity history -> Send my activity history to Microsoft
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System", "UploadUserActivities", 0);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System", "UploadUserActivities", 0);
@@ -1081,6 +1083,7 @@ namespace Optimizer
             Utilities.TryDeleteRegistryValue(true, @"Software\Policies\Microsoft\Windows\SettingSync", "DisableApplicationSettingSync");
             Utilities.TryDeleteRegistryValue(true, @"Software\Policies\Microsoft\Windows\SettingSync", "DisableApplicationSettingSync");
             Utilities.TryDeleteRegistryValue(true, @"Software\Policies\Microsoft\Windows\SettingSync", "DisableApplicationSettingSyncUserOverride");
             Utilities.TryDeleteRegistryValue(true, @"Software\Policies\Microsoft\Windows\SettingSync", "DisableApplicationSettingSyncUserOverride");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\AppPrivacy", "LetAppsActivateWithVoice");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\AppPrivacy", "LetAppsActivateWithVoice");
+            Utilities.TryDeleteRegistryValue(false, @"SOFTWARE\Microsoft\Windows\CurrentVersion\SearchSettings", "SafeSearchMode");
 
 
             // Find my device
             // Find my device
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\FindMyDevice", "AllowFindMyDevice");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\FindMyDevice", "AllowFindMyDevice");
@@ -1559,6 +1562,16 @@ namespace Optimizer
         //    Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Start_ShowClassicMode", "0", RegistryValueKind.DWord);
         //    Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Start_ShowClassicMode", "0", RegistryValueKind.DWord);
         //}
         //}
 
 
+        internal static void DisableVirtualizationBasedSecurity()
+        {
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard", "EnableVirtualizationBasedSecurity", 0, RegistryValueKind.DWord);
+        }
+
+        internal static void EnableVirtualizationBasedSecurity()
+        {
+            Utilities.TryDeleteRegistryValue(true, @"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard", "EnableVirtualizationBasedSecurity");
+        }
+
         internal static void AlignTaskbarToLeft()
         internal static void AlignTaskbarToLeft()
         {
         {
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarAl", "0", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarAl", "0", RegistryValueKind.DWord);

+ 2 - 0
Optimizer/Options.cs

@@ -83,6 +83,7 @@ namespace Optimizer
         public bool DisableTPMCheck { get; set; }
         public bool DisableTPMCheck { get; set; }
         public bool CompactMode { get; set; }
         public bool CompactMode { get; set; }
         public bool DisableStickers { get; set; }
         public bool DisableStickers { get; set; }
+        public bool DisableVBS { get; set; }
     }
     }
 
 
     internal static class Options
     internal static class Options
@@ -272,6 +273,7 @@ namespace Optimizer
                     CurrentOptions.DisableTPMCheck = false;
                     CurrentOptions.DisableTPMCheck = false;
                     CurrentOptions.CompactMode = false;
                     CurrentOptions.CompactMode = false;
                     CurrentOptions.DisableStickers = false;
                     CurrentOptions.DisableStickers = false;
+                    CurrentOptions.DisableVBS = false;
 
 
                     using (FileStream fs = File.Open(SettingsFile, FileMode.CreateNew))
                     using (FileStream fs = File.Open(SettingsFile, FileMode.CreateNew))
                     using (StreamWriter sw = new StreamWriter(fs))
                     using (StreamWriter sw = new StreamWriter(fs))

+ 4 - 1
Optimizer/Resources/i18n/AR.json

@@ -427,5 +427,8 @@
 	يمكن أن يؤدي تعطيله إلى تقليل عمليات الإدخال / الإخراج على الأقراص.",
 	يمكن أن يؤدي تعطيله إلى تقليل عمليات الإدخال / الإخراج على الأقراص.",
 	"autoStartToggle": "ابدأ بنظام Windows",
 	"autoStartToggle": "ابدأ بنظام Windows",
 	"nvidiaTelemetrySw": "قم بتعطيل NVIDIA Telemetry",
 	"nvidiaTelemetrySw": "قم بتعطيل NVIDIA Telemetry",
-	"dnsTitle": "تغيير خادم DNS بسرعة"
+	"dnsTitle": "تغيير خادم DNS بسرعة",
+	"vbsSw": "تعطيل الأمن القائم على الظاهرية",
+	"vbsTip": "ميزة Kernel التي تمنع حقن برامج التشغيل الخبيثة في العمليات.
+	لها تأثير سلبي على الأداء."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/CN.json

@@ -425,5 +425,8 @@
 	禁用它可以减少磁盘上的 I/O 操作。",
 	禁用它可以减少磁盘上的 I/O 操作。",
 	"autoStartToggle": "从 Windows 开始",
 	"autoStartToggle": "从 Windows 开始",
 	"nvidiaTelemetrySw": "禁用 NVIDIA 遥测",
 	"nvidiaTelemetrySw": "禁用 NVIDIA 遥测",
-	"dnsTitle": "快速更换DNS服务器"
+	"dnsTitle": "快速更换DNS服务器",
+	"vbsSw": "禁用基于虚拟化的安全性",
+	"vbsTip": "防止恶意驱动程序注入进程的内核功能。
+它对性能有负面影响。"
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/CZ.json

@@ -427,5 +427,8 @@ Je to však považováno za riskantní procedůru. Obvykle se jedná o půlročn
 	Jeho zakázáním můžete snížit I/O operace na discích.",
 	Jeho zakázáním můžete snížit I/O operace na discích.",
 	"autoStartToggle": "Začněte s Windows",
 	"autoStartToggle": "Začněte s Windows",
 	"nvidiaTelemetrySw": "Zakázat telemetrii NVIDIA",
 	"nvidiaTelemetrySw": "Zakázat telemetrii NVIDIA",
-	"dnsTitle": "Rychlá změna serveru DNS"
+	"dnsTitle": "Rychlá změna serveru DNS",
+	"vbsSw": "Zakázat zabezpečení založené na virtualizaci",
+	"vbsTip": "Funkce jádra, která zabraňuje vkládání škodlivých ovladačů do procesů.
+Má to negativní vliv na výkon."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/DE.json

@@ -402,5 +402,8 @@ Es wurde durch SMBv3 ersetzt, das sicherer ist.",
 Durch Deaktivieren können die E/A-Vorgänge auf den Festplatten reduziert werden.",
 Durch Deaktivieren können die E/A-Vorgänge auf den Festplatten reduziert werden.",
 	"autoStartToggle": "Starte mit Windows",
 	"autoStartToggle": "Starte mit Windows",
 	"nvidiaTelemetrySw": "Deaktivieren Sie die NVIDIA-Telemetrie",
 	"nvidiaTelemetrySw": "Deaktivieren Sie die NVIDIA-Telemetrie",
-	"dnsTitle": "Ändern Sie schnell den DNS-Server"
+	"dnsTitle": "Ändern Sie schnell den DNS-Server",
+	"vbsSw": "Deaktivieren Sie die virtualisierungsbasierte Sicherheit",
+	"vbsTip": "Kernel-Funktion, die das Einschleusen bösartiger Treiber in Prozesse verhindert.
+Es wirkt sich negativ auf die Leistung aus."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/EL.json

@@ -422,5 +422,8 @@
 	"ntfsStampTip": "Το NTFS Timestamp δείχνει τον χρόνο της τελευταίας πρόσβασης του αρχειού. Η απενεργοποίηση του βελτιώνει την ταχύτητα των δίσκων.",
 	"ntfsStampTip": "Το NTFS Timestamp δείχνει τον χρόνο της τελευταίας πρόσβασης του αρχειού. Η απενεργοποίηση του βελτιώνει την ταχύτητα των δίσκων.",
 	"autoStartToggle": "Εκκίνηση με τα Windows",
 	"autoStartToggle": "Εκκίνηση με τα Windows",
 	"nvidiaTelemetrySw": "Απενεργοποίηση Τηλεμετρίας NVIDIA",
 	"nvidiaTelemetrySw": "Απενεργοποίηση Τηλεμετρίας NVIDIA",
-	"dnsTitle": "Γρήγορη αλλαγή διακομιστή DNS"
+	"dnsTitle": "Γρήγορη αλλαγή διακομιστή DNS",
+	"vbsSw": "Απενεργοποίηση Virtualization Based Security",
+	"vbsTip": "Λειτουργία πυρήνα που αποτρέπει την έγχυση κακόβουλων προγραμμάτων οδήγησης σε διεργασίες.
+Έχει αρνητική επίδραση στην απόδοση."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/EN.json

@@ -427,5 +427,8 @@ It has been replaced with SMBv3, which is more secure.",
 Disabling it can reduce I/O operations on the disks.",
 Disabling it can reduce I/O operations on the disks.",
 	"autoStartToggle": "Start with Windows",
 	"autoStartToggle": "Start with Windows",
 	"nvidiaTelemetrySw": "Disable NVIDIA Telemetry",
 	"nvidiaTelemetrySw": "Disable NVIDIA Telemetry",
-	"dnsTitle": "Rapidly change DNS server"
+	"dnsTitle": "Rapidly change DNS server",
+	"vbsSw": "Disable Virtualization Based Security",
+	"vbsTip": "Kernel feature that prevents malicious drivers injection into processes.
+It has negative effect on performance."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/ES.json

@@ -424,5 +424,8 @@ Sin embargo, se consideran un procedimiento riesgoso. Suelen ser lanzamientos se
 	Deshabilitarlo puede reducir las operaciones de E/S en los discos.",
 	Deshabilitarlo puede reducir las operaciones de E/S en los discos.",
 	"autoStartToggle": "Comience con el Windows",
 	"autoStartToggle": "Comience con el Windows",
 	"nvidiaTelemetrySw": "Deshabilitar la telemetría de NVIDIA",
 	"nvidiaTelemetrySw": "Deshabilitar la telemetría de NVIDIA",
-	"dnsTitle": "Cambiar rápidamente el servidor DNS"
+	"dnsTitle": "Cambiar rápidamente el servidor DNS",
+	"vbsSw": "Deshabilitar la seguridad basada en virtualización",
+	"vbsTip": "Característica del kernel que evita la inyección de controladores maliciosos en los procesos.
+Tiene un efecto negativo en el rendimiento."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/FR.json

@@ -424,5 +424,8 @@ Cependant, elles sont considerees comme une procedure risquee. Il s'agit general
 	Sa désactivation peut réduire les opérations d'E/S sur les disques.",
 	Sa désactivation peut réduire les opérations d'E/S sur les disques.",
 	"autoStartToggle": "Commence avec Windows",
 	"autoStartToggle": "Commence avec Windows",
 	"nvidiaTelemetrySw": "Désactiver la télémétrie NVIDIA",
 	"nvidiaTelemetrySw": "Désactiver la télémétrie NVIDIA",
-	"dnsTitle": "Changer rapidement de serveur DNS"
+	"dnsTitle": "Changer rapidement de serveur DNS",
+	"vbsSw": "Désactiver la sécurité basée sur la virtualisation",
+	"vbsTip": "Fonctionnalité du noyau qui empêche l'injection de pilotes malveillants dans les processus.
+Cela a un effet négatif sur les performances."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/HU.json

@@ -427,5 +427,8 @@
 	A letiltása csökkentheti az I/O műveleteket a lemezeken.",
 	A letiltása csökkentheti az I/O műveleteket a lemezeken.",
 	"autoStartToggle": "Kezdje a Windows rendszerrel",
 	"autoStartToggle": "Kezdje a Windows rendszerrel",
 	"nvidiaTelemetrySw": "Az NVIDIA telemetria letiltása",
 	"nvidiaTelemetrySw": "Az NVIDIA telemetria letiltása",
-	"dnsTitle": "DNS-kiszolgáló gyors cseréje"
+	"dnsTitle": "DNS-kiszolgáló gyors cseréje",
+	"vbsSw": "A virtualizáció alapú biztonság letiltása",
+	"vbsTip": "Kernel funkció, amely megakadályozza a rosszindulatú illesztőprogramok bejutását a folyamatokba.
+Negatív hatással van a teljesítményre."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/IT.json

@@ -422,5 +422,8 @@ Tuttavia, sono considerate procedure rischiose. Sono normalmente una release ogn
 	La disabilitazione può ridurre le operazioni di I/O sui dischi.",
 	La disabilitazione può ridurre le operazioni di I/O sui dischi.",
 	"autoStartToggle": "Inizia con Windows",
 	"autoStartToggle": "Inizia con Windows",
 	"nvidiaTelemetrySw": "Disabilita la telemetria NVIDIA",
 	"nvidiaTelemetrySw": "Disabilita la telemetria NVIDIA",
-	"dnsTitle": "Cambia rapidamente il server DNS"
+	"dnsTitle": "Cambia rapidamente il server DNS",
+	"vbsSw": "Disabilita la sicurezza basata sulla virtualizzazione",
+	"vbsTip": "Funzionalità del kernel che impedisce l'iniezione di driver dannosi nei processi.
+Ha un effetto negativo sulle prestazioni."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/KO.json

@@ -427,5 +427,8 @@ Microsoft 계정 로그인이 필요합니다.",
 	비활성화하면 디스크의 I/O 작업을 줄일 수 있습니다.",
 	비활성화하면 디스크의 I/O 작업을 줄일 수 있습니다.",
 	"autoStartToggle": "Windows로 시작",
 	"autoStartToggle": "Windows로 시작",
 	"nvidiaTelemetrySw": "NVIDIA 원격 측정 비활성화",
 	"nvidiaTelemetrySw": "NVIDIA 원격 측정 비활성화",
-	"dnsTitle": "DNS 서버를 빠르게 변경"
+	"dnsTitle": "DNS 서버를 빠르게 변경",
+	"vbsSw": "가상화 기반 보안 비활성화",
+	"vbsTip": "악성 드라이버가 프로세스에 주입되는 것을 방지하는 커널 기능입니다.
+성능에 부정적인 영향을 미칩니다."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/KU.json

@@ -426,5 +426,8 @@
 	لەکارخستنی دەتوانێت کارەکانی I/O لەسەر دیسکەکان کەم بکاتەوە.",
 	لەکارخستنی دەتوانێت کارەکانی I/O لەسەر دیسکەکان کەم بکاتەوە.",
 	"autoStartToggle": "لە ویندۆزەوە دەست پێ بکە",
 	"autoStartToggle": "لە ویندۆزەوە دەست پێ بکە",
 	"nvidiaTelemetrySw": "NVIDIA Telemetry لەکاربخە",
 	"nvidiaTelemetrySw": "NVIDIA Telemetry لەکاربخە",
-	"dnsTitle": "بە خێرایی ڕاژەکاری DNS بگۆڕە"
+	"dnsTitle": "بە خێرایی ڕاژەکاری DNS بگۆڕە",
+	"vbsSw": "ئاسایش لەسەر بنەمای مەجازیکردن لەکاربخە",
+	"vbsTip": "تایبەتمەندی ناوک کە ڕێگری دەکات لە دەرزی لێدانی شۆفێری زیانبەخش بۆ ناو پرۆسەکان.
+کاریگەری نەرێنی لەسەر ئەدای کارکردن هەیە."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/NL.json

@@ -377,5 +377,8 @@
    "ntfsStampTip":"Geeft aan wanneer het bestand voor het laatst is geopend. Uitschakelen kan I/O-bewerkingen op de harde schijven verminderen.",
    "ntfsStampTip":"Geeft aan wanneer het bestand voor het laatst is geopend. Uitschakelen kan I/O-bewerkingen op de harde schijven verminderen.",
    "autoStartToggle": "Begin met Windows",
    "autoStartToggle": "Begin met Windows",
    "nvidiaTelemetrySw": "NVIDIA-telemetrie uitschakelen",
    "nvidiaTelemetrySw": "NVIDIA-telemetrie uitschakelen",
-   "dnsTitle": "Snel van DNS-server veranderen"
+   "dnsTitle": "Snel van DNS-server veranderen",
+   "vbsSw": "Op virtualisatie gebaseerde beveiliging uitschakelen",
+	"vbsTip": "Kernelfunctie die voorkomt dat kwaadaardige stuurprogramma's in processen worden geïnjecteerd.
+Het heeft een negatief effect op de prestaties."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/PL.json

@@ -424,5 +424,8 @@ Są one jednak uważane za ryzykowną procedurę. Zazwyczaj są wydawane co pó
 	Wyłączenie go może zmniejszyć liczbę operacji we/wy na dyskach.",
 	Wyłączenie go może zmniejszyć liczbę operacji we/wy na dyskach.",
 	"autoStartToggle": "Uruchom z Windows",
 	"autoStartToggle": "Uruchom z Windows",
 	"nvidiaTelemetrySw": "Wyłącz telemetrię NVIDIA",
 	"nvidiaTelemetrySw": "Wyłącz telemetrię NVIDIA",
-	"dnsTitle": "Szybko zmień serwer DNS"
+	"dnsTitle": "Szybko zmień serwer DNS",
+	"vbsSw": "Wyłącz zabezpieczenia oparte na wirtualizacji",
+	"vbsTip": "Funkcja jądra, która zapobiega wstrzykiwaniu złośliwych sterowników do procesów.
+Ma negatywny wpływ na wydajność."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/PT.json

@@ -424,5 +424,8 @@ No entanto, eles são considerados um procedimento arriscado. Geralmente são la
 	Desabilitar pode reduzir as operações de E/S nos discos.",
 	Desabilitar pode reduzir as operações de E/S nos discos.",
 	"autoStartToggle": "Comece com o Windows",
 	"autoStartToggle": "Comece com o Windows",
 	"nvidiaTelemetrySw": "Desativar a telemetria NVIDIA",
 	"nvidiaTelemetrySw": "Desativar a telemetria NVIDIA",
-	"dnsTitle": "Altere rapidamente o servidor DNS"
+	"dnsTitle": "Altere rapidamente o servidor DNS",
+	"vbsSw": "Desativar segurança baseada em virtualização",
+	"vbsTip": "Recurso de kernel que impede a injeção de drivers mal-intencionados nos processos.
+Tem efeito negativo no desempenho."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/RO.json

@@ -408,5 +408,8 @@ pentru analiză către Microsoft.",
 	Dezactivarea acestuia poate reduce operațiunile I/O pe discuri.",
 	Dezactivarea acestuia poate reduce operațiunile I/O pe discuri.",
 	"autoStartToggle": "Începeți cu Windows",
 	"autoStartToggle": "Începeți cu Windows",
 	"nvidiaTelemetrySw": "Dezactivați telemetria NVIDIA",
 	"nvidiaTelemetrySw": "Dezactivați telemetria NVIDIA",
-	"dnsTitle": "Schimbați rapid serverul DNS"
+	"dnsTitle": "Schimbați rapid serverul DNS",
+	"vbsSw": "Dezactivați securitatea bazată pe virtualizare",
+	"vbsTip": "Caracteristica kernel care previne injectarea driverelor rău intenționate în procese.
+Are un efect negativ asupra performanței."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/RU.json

@@ -427,5 +427,8 @@
 	Его отключение может уменьшить количество операций ввода-вывода на дисках.",
 	Его отключение может уменьшить количество операций ввода-вывода на дисках.",
 	"autoStartToggle": "Начните с Windows",
 	"autoStartToggle": "Начните с Windows",
 	"nvidiaTelemetrySw": "Отключить телеметрию NVIDIA",
 	"nvidiaTelemetrySw": "Отключить телеметрию NVIDIA",
-	"dnsTitle": "Быстро сменить DNS-сервер"
+	"dnsTitle": "Быстро сменить DNS-сервер",
+	"vbsSw": "Отключить безопасность на основе виртуализации",
+	"vbsTip": "Функция ядра, которая предотвращает внедрение вредоносных драйверов в процессы.
+Это отрицательно сказывается на производительности."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/TR.json

@@ -425,5 +425,8 @@ Ancak, riskli bir prosedür olarak kabul edilirler. Genellikle altı aylık yay
 	Devre dışı bırakmak, disklerdeki G/Ç işlemlerini azaltabilir.",
 	Devre dışı bırakmak, disklerdeki G/Ç işlemlerini azaltabilir.",
 	"autoStartToggle": "Windows başla",
 	"autoStartToggle": "Windows başla",
 	"nvidiaTelemetrySw": "NVIDIA Telemetrisini Devre Dışı Bırak",
 	"nvidiaTelemetrySw": "NVIDIA Telemetrisini Devre Dışı Bırak",
-	"dnsTitle": "DNS sunucusunu hızla değiştirin"
+	"dnsTitle": "DNS sunucusunu hızla değiştirin",
+	"vbsSw": "Sanallaştırma Tabanlı Güvenliği Devre Dışı Bırak",
+	"vbsTip": "Kötü amaçlı sürücülerin işlemlere eklenmesini önleyen çekirdek özelliği.
+Performansa olumsuz etkisi vardır."
 }
 }

+ 4 - 1
Optimizer/Resources/i18n/TW.json

@@ -425,5 +425,8 @@
 	禁用它可以減少磁盤上的 I/O 操作。",
 	禁用它可以減少磁盤上的 I/O 操作。",
 	"autoStartToggle": "從 Windows 開始",
 	"autoStartToggle": "從 Windows 開始",
 	"nvidiaTelemetrySw": "禁用 NVIDIA 遙測",
 	"nvidiaTelemetrySw": "禁用 NVIDIA 遙測",
-	"dnsTitle": "快速更換DNS服務器"
+	"dnsTitle": "快速更換DNS服務器",
+	"vbsSw": "禁用基於虛擬化的安全性",
+	"vbsTip": "防止惡意驅動程序注入進程的內核功能。
+它對性能有負面影響。"
 }
 }

+ 1 - 0
Optimizer/SilentConfig.cs

@@ -66,5 +66,6 @@ namespace Optimizer
         public bool? DisableTPMCheck { get; set; }
         public bool? DisableTPMCheck { get; set; }
         public bool? CompactMode { get; set; }
         public bool? CompactMode { get; set; }
         public bool? DisableStickers { get; set; }
         public bool? DisableStickers { get; set; }
+        public bool? DisableVBS { get; set; }
     }
     }
 }
 }

+ 16 - 0
Optimizer/SilentOps.cs

@@ -665,6 +665,18 @@ namespace Optimizer
                 }
                 }
             }
             }
 
 
+            if (CurrentSilentConfig.DisableVBS.HasValue)
+            {
+                if (CurrentSilentConfig.DisableVBS.Value)
+                {
+                    Optimize.DisableVirtualizationBasedSecurity();
+                }
+                else
+                {
+                    Optimize.EnableVirtualizationBasedSecurity();
+                }
+            }
+
             if (CurrentSilentConfig.ClassicRibbon.HasValue)
             if (CurrentSilentConfig.ClassicRibbon.HasValue)
             {
             {
                 if (CurrentSilentConfig.ClassicRibbon.Value)
                 if (CurrentSilentConfig.ClassicRibbon.Value)
@@ -849,6 +861,10 @@ namespace Optimizer
             {
             {
                 Options.CurrentOptions.DisableTPMCheck = CurrentSilentConfig.DisableTPMCheck.Value;
                 Options.CurrentOptions.DisableTPMCheck = CurrentSilentConfig.DisableTPMCheck.Value;
             }
             }
+            if (CurrentSilentConfig.DisableVBS.HasValue)
+            {
+                Options.CurrentOptions.DisableVBS = CurrentSilentConfig.DisableVBS.Value;
+            }
         }
         }
 
 
         internal static void SilentUpdateOptions10()
         internal static void SilentUpdateOptions10()

+ 1 - 1
Optimizer/Utilities.cs

@@ -63,7 +63,7 @@ namespace Optimizer
 
 
         internal static string GetWindows10Build()
         internal static string GetWindows10Build()
         {
         {
-            return (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ReleaseId", "");
+            return (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "DisplayVersion", "");
         }
         }
 
 
         internal static string GetOS()
         internal static string GetOS()

+ 1 - 0
confs/win11.conf

@@ -50,6 +50,7 @@
   "ClassicMenu": false,
   "ClassicMenu": false,
   "DisableTPMCheck": false,
   "DisableTPMCheck": false,
   "CompactMode": false,
   "CompactMode": false,
+  "DisableVBS": false,
   "DisableVisualStudioTelemetry": false,
   "DisableVisualStudioTelemetry": false,
   "DisableFirefoxTemeletry": false,
   "DisableFirefoxTemeletry": false,
   "DisableChromeTelemetry": false,
   "DisableChromeTelemetry": false,