diff --git a/Perfect11/Form1.Designer.cs b/Perfect11/Form1.Designer.cs
index 991e6b7..a2a0541 100644
--- a/Perfect11/Form1.Designer.cs
+++ b/Perfect11/Form1.Designer.cs
@@ -30,10 +30,10 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.theme = new ReaLTaiizor.Forms.FormTheme();
+ this.githubLink = new ReaLTaiizor.Controls.PoisonLinkLabel();
this.controlBoxEdit1 = new ReaLTaiizor.Controls.ControlBoxEdit();
this.pages = new ReaLTaiizor.Controls.PoisonTabControl();
this.welcomePage = new ReaLTaiizor.Controls.PoisonTabPage();
- this.editionLabel = new ReaLTaiizor.Controls.PoisonLabel();
this.poisonLabel2 = new ReaLTaiizor.Controls.PoisonLabel();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.poisonLabel1 = new ReaLTaiizor.Controls.PoisonLabel();
@@ -51,13 +51,21 @@
this.tweaksPage = new ReaLTaiizor.Controls.PoisonTabPage();
this.runTweaks = new ReaLTaiizor.Controls.PoisonButton();
this.tweaksList = new ReaLTaiizor.Controls.PoisonListView();
- this.githubLink = new ReaLTaiizor.Controls.PoisonLinkLabel();
+ this.editionLabel = new ReaLTaiizor.Controls.PoisonLabel();
+ this.upgradePage = new ReaLTaiizor.Controls.PoisonTabPage();
+ this.poisonLabel3 = new ReaLTaiizor.Controls.PoisonLabel();
+ this.poisonLabel4 = new ReaLTaiizor.Controls.PoisonLabel();
+ this.upgradeMethod = new ReaLTaiizor.Controls.PoisonComboBox();
+ this.poisonLabel5 = new ReaLTaiizor.Controls.PoisonLabel();
+ this.bypassWin11RequirementsCheck = new ReaLTaiizor.Controls.PoisonCheckBox();
+ this.automateOOBECheck = new ReaLTaiizor.Controls.PoisonCheckBox();
this.theme.SuspendLayout();
this.pages.SuspendLayout();
this.welcomePage.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.debloatPage.SuspendLayout();
this.tweaksPage.SuspendLayout();
+ this.upgradePage.SuspendLayout();
this.SuspendLayout();
//
// theme
@@ -80,6 +88,21 @@
this.theme.TabIndex = 0;
this.theme.Text = "Perfect11";
//
+ // githubLink
+ //
+ this.githubLink.BackColor = System.Drawing.Color.Transparent;
+ this.githubLink.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.githubLink.Location = new System.Drawing.Point(1275, 762);
+ this.githubLink.Name = "githubLink";
+ this.githubLink.Size = new System.Drawing.Size(48, 26);
+ this.githubLink.TabIndex = 5;
+ this.githubLink.Text = "GitHub";
+ this.githubLink.UseCustomBackColor = true;
+ this.githubLink.UseCustomForeColor = true;
+ this.githubLink.UseSelectable = true;
+ this.githubLink.UseStyleColors = true;
+ this.githubLink.Click += new System.EventHandler(this.githubLink_Click);
+ //
// controlBoxEdit1
//
this.controlBoxEdit1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -95,15 +118,17 @@
// pages
//
this.pages.Controls.Add(this.welcomePage);
+ this.pages.Controls.Add(this.upgradePage);
this.pages.Controls.Add(this.debloatPage);
this.pages.Controls.Add(this.tweaksPage);
this.pages.Dock = System.Windows.Forms.DockStyle.Fill;
this.pages.Location = new System.Drawing.Point(3, 28);
this.pages.Name = "pages";
- this.pages.SelectedIndex = 0;
+ this.pages.SelectedIndex = 1;
this.pages.Size = new System.Drawing.Size(1323, 732);
this.pages.TabIndex = 1;
this.pages.UseSelectable = true;
+ this.pages.SelectedIndexChanged += new System.EventHandler(this.pages_SelectedIndexChanged);
//
// welcomePage
//
@@ -124,17 +149,6 @@
this.welcomePage.VerticalScrollbarHighlightOnWheel = false;
this.welcomePage.VerticalScrollbarSize = 51;
//
- // editionLabel
- //
- this.editionLabel.AutoSize = true;
- this.editionLabel.BackColor = System.Drawing.Color.Transparent;
- this.editionLabel.Location = new System.Drawing.Point(12, 763);
- this.editionLabel.Name = "editionLabel";
- this.editionLabel.Size = new System.Drawing.Size(175, 19);
- this.editionLabel.TabIndex = 4;
- this.editionLabel.Text = "Perfect11 Community Edition";
- this.editionLabel.UseCustomBackColor = true;
- //
// poisonLabel2
//
this.poisonLabel2.AutoSize = true;
@@ -360,20 +374,115 @@
this.tweaksList.UseStyleColors = true;
this.tweaksList.Resize += new System.EventHandler(this.tweaksList_Resize);
//
- // githubLink
+ // editionLabel
//
- this.githubLink.BackColor = System.Drawing.Color.Transparent;
- this.githubLink.Cursor = System.Windows.Forms.Cursors.Hand;
- this.githubLink.Location = new System.Drawing.Point(1275, 762);
- this.githubLink.Name = "githubLink";
- this.githubLink.Size = new System.Drawing.Size(48, 26);
- this.githubLink.TabIndex = 5;
- this.githubLink.Text = "GitHub";
- this.githubLink.UseCustomBackColor = true;
- this.githubLink.UseCustomForeColor = true;
- this.githubLink.UseSelectable = true;
- this.githubLink.UseStyleColors = true;
- this.githubLink.Click += new System.EventHandler(this.githubLink_Click);
+ this.editionLabel.AutoSize = true;
+ this.editionLabel.BackColor = System.Drawing.Color.Transparent;
+ this.editionLabel.Location = new System.Drawing.Point(12, 763);
+ this.editionLabel.Name = "editionLabel";
+ this.editionLabel.Size = new System.Drawing.Size(175, 19);
+ this.editionLabel.TabIndex = 4;
+ this.editionLabel.Text = "Perfect11 Community Edition";
+ this.editionLabel.UseCustomBackColor = true;
+ //
+ // upgradePage
+ //
+ this.upgradePage.Controls.Add(this.automateOOBECheck);
+ this.upgradePage.Controls.Add(this.bypassWin11RequirementsCheck);
+ this.upgradePage.Controls.Add(this.poisonLabel5);
+ this.upgradePage.Controls.Add(this.upgradeMethod);
+ this.upgradePage.Controls.Add(this.poisonLabel3);
+ this.upgradePage.Controls.Add(this.poisonLabel4);
+ this.upgradePage.HorizontalScrollbarBarColor = true;
+ this.upgradePage.HorizontalScrollbarHighlightOnWheel = false;
+ this.upgradePage.HorizontalScrollbarSize = 10;
+ this.upgradePage.Location = new System.Drawing.Point(4, 38);
+ this.upgradePage.Name = "upgradePage";
+ this.upgradePage.Size = new System.Drawing.Size(1315, 690);
+ this.upgradePage.TabIndex = 3;
+ this.upgradePage.Text = "Upgrade";
+ this.upgradePage.VerticalScrollbarBarColor = true;
+ this.upgradePage.VerticalScrollbarHighlightOnWheel = false;
+ this.upgradePage.VerticalScrollbarSize = 10;
+ //
+ // poisonLabel3
+ //
+ this.poisonLabel3.AutoSize = true;
+ this.poisonLabel3.BackColor = System.Drawing.Color.Transparent;
+ this.poisonLabel3.Location = new System.Drawing.Point(5, 54);
+ this.poisonLabel3.Name = "poisonLabel3";
+ this.poisonLabel3.Size = new System.Drawing.Size(760, 19);
+ this.poisonLabel3.TabIndex = 5;
+ this.poisonLabel3.Text = "In this page, we\'ll get you on Windows 11 as Windows 10 is now end of life. This " +
+ "process can take some time, so please be patient!";
+ this.poisonLabel3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.poisonLabel3.UseCustomBackColor = true;
+ //
+ // poisonLabel4
+ //
+ this.poisonLabel4.AutoSize = true;
+ this.poisonLabel4.BackColor = System.Drawing.Color.Transparent;
+ this.poisonLabel4.FontSize = ReaLTaiizor.Extension.Poison.PoisonLabelSize.Tall;
+ this.poisonLabel4.Location = new System.Drawing.Point(5, 17);
+ this.poisonLabel4.Name = "poisonLabel4";
+ this.poisonLabel4.Size = new System.Drawing.Size(227, 25);
+ this.poisonLabel4.TabIndex = 4;
+ this.poisonLabel4.Text = "Let\'s get you on Windows 11!";
+ this.poisonLabel4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.poisonLabel4.UseCustomBackColor = true;
+ //
+ // upgradeMethod
+ //
+ this.upgradeMethod.FormattingEnabled = true;
+ this.upgradeMethod.ItemHeight = 23;
+ this.upgradeMethod.Items.AddRange(new object[] {
+ "Upgrade to Windows 11 (recommended, all languages)",
+ "Install Windows 11 IoT Enterprise LTSC (English US only)",
+ "Install Mini11 LTS (English UK only)",
+ "Use a custom image (for advanced users)"});
+ this.upgradeMethod.Location = new System.Drawing.Point(143, 87);
+ this.upgradeMethod.Name = "upgradeMethod";
+ this.upgradeMethod.PromptText = "--Please select--";
+ this.upgradeMethod.Size = new System.Drawing.Size(1067, 29);
+ this.upgradeMethod.TabIndex = 6;
+ this.upgradeMethod.UseSelectable = true;
+ this.upgradeMethod.SelectedIndexChanged += new System.EventHandler(this.poisonComboBox1_SelectedIndexChanged);
+ //
+ // poisonLabel5
+ //
+ this.poisonLabel5.AutoSize = true;
+ this.poisonLabel5.BackColor = System.Drawing.Color.Transparent;
+ this.poisonLabel5.Location = new System.Drawing.Point(5, 87);
+ this.poisonLabel5.Name = "poisonLabel5";
+ this.poisonLabel5.Size = new System.Drawing.Size(114, 19);
+ this.poisonLabel5.TabIndex = 7;
+ this.poisonLabel5.Text = "Upgrade method:";
+ this.poisonLabel5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.poisonLabel5.UseCustomBackColor = true;
+ //
+ // bypassWin11RequirementsCheck
+ //
+ this.bypassWin11RequirementsCheck.AutoSize = true;
+ this.bypassWin11RequirementsCheck.Checked = true;
+ this.bypassWin11RequirementsCheck.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.bypassWin11RequirementsCheck.Enabled = false;
+ this.bypassWin11RequirementsCheck.Location = new System.Drawing.Point(5, 131);
+ this.bypassWin11RequirementsCheck.Name = "bypassWin11RequirementsCheck";
+ this.bypassWin11RequirementsCheck.Size = new System.Drawing.Size(418, 15);
+ this.bypassWin11RequirementsCheck.TabIndex = 8;
+ this.bypassWin11RequirementsCheck.Text = "Bypass Windows 11 requirements (including RAM, CPU, TPM, Secure Boot)";
+ this.bypassWin11RequirementsCheck.UseSelectable = true;
+ //
+ // automateOOBECheck
+ //
+ this.automateOOBECheck.AutoSize = true;
+ this.automateOOBECheck.Enabled = false;
+ this.automateOOBECheck.Location = new System.Drawing.Point(5, 164);
+ this.automateOOBECheck.Name = "automateOOBECheck";
+ this.automateOOBECheck.Size = new System.Drawing.Size(353, 15);
+ this.automateOOBECheck.TabIndex = 9;
+ this.automateOOBECheck.Text = "Automate OOBE (skips parts of the OOBE, useful if reinstalling)";
+ this.automateOOBECheck.UseSelectable = true;
//
// Form1
//
@@ -400,6 +509,8 @@
this.debloatPage.ResumeLayout(false);
this.debloatPage.PerformLayout();
this.tweaksPage.ResumeLayout(false);
+ this.upgradePage.ResumeLayout(false);
+ this.upgradePage.PerformLayout();
this.ResumeLayout(false);
}
@@ -429,6 +540,13 @@
private ReaLTaiizor.Controls.PoisonButton runTweaks;
private ReaLTaiizor.Controls.PoisonLabel editionLabel;
private ReaLTaiizor.Controls.PoisonLinkLabel githubLink;
+ private ReaLTaiizor.Controls.PoisonTabPage upgradePage;
+ private ReaLTaiizor.Controls.PoisonLabel poisonLabel3;
+ private ReaLTaiizor.Controls.PoisonLabel poisonLabel4;
+ private ReaLTaiizor.Controls.PoisonLabel poisonLabel5;
+ private ReaLTaiizor.Controls.PoisonComboBox upgradeMethod;
+ private ReaLTaiizor.Controls.PoisonCheckBox bypassWin11RequirementsCheck;
+ private ReaLTaiizor.Controls.PoisonCheckBox automateOOBECheck;
}
}
diff --git a/Perfect11/Form1.cs b/Perfect11/Form1.cs
index d161b6b..9eba2e3 100644
--- a/Perfect11/Form1.cs
+++ b/Perfect11/Form1.cs
@@ -11,7 +11,7 @@ using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
-using static System.Windows.Forms.VisualStyles.VisualStyleElement;
+using System.Text.RegularExpressions;
namespace Perfect11
{
@@ -58,6 +58,13 @@ namespace Perfect11
poisonLabel1.ForeColor = Color.FromArgb(255, 255, 255);
poisonLabel2.ForeColor = Color.FromArgb(255, 255, 255);
githubLink.Theme = ThemeStyle.Dark;
+ upgradePage.Theme = ThemeStyle.Dark;
+ poisonLabel3.Theme = ThemeStyle.Dark;
+ poisonLabel4.Theme = ThemeStyle.Dark;
+ poisonLabel5.Theme = ThemeStyle.Dark;
+ upgradeMethod.Theme = ThemeStyle.Dark;
+ bypassWin11RequirementsCheck.Theme = ThemeStyle.Dark;
+ automateOOBECheck.Theme = ThemeStyle.Dark;
}
else
{
@@ -85,6 +92,13 @@ namespace Perfect11
LstUWPRemove.BackColor = Color.FromArgb(255,255,255);
tweaksList.BackColor = Color.FromArgb(255,255,255);
githubLink.Theme = ThemeStyle.Light;
+ upgradePage.Theme = ThemeStyle.Light;
+ poisonLabel3.Theme = ThemeStyle.Light;
+ poisonLabel4.Theme = ThemeStyle.Light;
+ poisonLabel5.Theme = ThemeStyle.Light;
+ upgradeMethod.Theme = ThemeStyle.Light;
+ bypassWin11RequirementsCheck.Theme = ThemeStyle.Light;
+ automateOOBECheck.Theme = ThemeStyle.Light;
}
}
private void Form1_Load(object sender, EventArgs e)
@@ -405,5 +419,41 @@ namespace Perfect11
MessageBox.Show("Looks like your browser is not available, please copy the link below and paste it in your browser's address bar:\n\nhttps://github.com/theitaliandeveloper/Perfect11/","Perfect11",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
+
+ private void pages_SelectedIndexChanged(object sender, EventArgs e)
+ {
+#if !DEBUG // For UI Testing do not prevent using pages if not 11
+ if ((pages.SelectedTab == debloatPage || pages.SelectedTab == tweaksPage) && !Utilities.IsWindows11())
+ {
+ MessageBox.Show("In order to use these features you need to upgrade to Windows 11.","Perfect11",MessageBoxButtons.OK,MessageBoxIcon.Information);
+ pages.SelectedTab = upgradePage;
+ }
+ else if (pages.SelectedTab == upgradePage && Utilities.IsWindows11())
+ {
+ if (MessageBox.Show("You're already using Windows 11, there's no need to upgrade. However, this page might be useful as well for reinstallation. Are you sure to continue?", "Perfect11", MessageBoxButtons.YesNo, MessageBoxIcon.Information,MessageBoxDefaultButton.Button2) == DialogResult.No)
+ {
+ pages.SelectedTab = welcomePage;
+ }
+ }
+#endif
+ }
+
+ private void poisonComboBox1_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (upgradeMethod.SelectedIndex == 3 || upgradeMethod.SelectedIndex == 2) // Both Mini11 and custom ISO
+ {
+ automateOOBECheck.Enabled = false;
+ bypassWin11RequirementsCheck.Enabled = false;
+ }
+ else if (upgradeMethod.SelectedIndex != 0) // if not normal installation
+ {
+ bypassWin11RequirementsCheck.Enabled = false;
+ }
+ else
+ {
+ automateOOBECheck.Enabled = true;
+ bypassWin11RequirementsCheck.Enabled = true;
+ }
+ }
}
}
diff --git a/Perfect11/Library/Utilities.cs b/Perfect11/Library/Utilities.cs
index 2ffef20..d13eb5b 100644
--- a/Perfect11/Library/Utilities.cs
+++ b/Perfect11/Library/Utilities.cs
@@ -2,6 +2,7 @@
using Perfect11.TweaksInterface;
using System;
using System.Collections.Generic;
+using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
@@ -106,5 +107,10 @@ namespace Perfect11.Library
return $"Error: {ex.Message}";
}
}
+ public static string GetLanguageCode()
+ {
+ string languageCode = CultureInfo.CurrentUICulture.Name;
+ return languageCode.ToLower();
+ }
}
}
diff --git a/Perfect11/Program.cs b/Perfect11/Program.cs
index 3358dcc..eac1d2a 100644
--- a/Perfect11/Program.cs
+++ b/Perfect11/Program.cs
@@ -15,16 +15,11 @@ namespace Perfect11
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
- // Check if the system is Windows 11
- if (!Utilities.IsWindows11())
- {
- MessageBox.Show("This tool requires Windows 11!","Perfect11",MessageBoxButtons.OK,MessageBoxIcon.Error);
- }
// Hide exception window because of some nags with the library.
#if DEBUG
Application.ThreadException += (s, e) =>
{
- Console.WriteLine($"Errore: {e.Exception.Message}\n{e.Exception.StackTrace}");
+ Console.WriteLine($"Error: {e.Exception.Message}\n{e.Exception.StackTrace}");
};
#else
Application.ThreadException += (s, e) => { };
diff --git a/tweaks/Perfect11.Inbox.DisableAds/Perfect11.Inbox.DisableAds.csproj b/tweaks/Perfect11.Inbox.DisableAds/Perfect11.Inbox.DisableAds.csproj
new file mode 100644
index 0000000..7ece57b
--- /dev/null
+++ b/tweaks/Perfect11.Inbox.DisableAds/Perfect11.Inbox.DisableAds.csproj
@@ -0,0 +1,55 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {0BCF623D-B134-4824-9167-2F0A39532BDD}
+ Library
+ Properties
+ Perfect11.Inbox.DisableAds
+ Perfect11.Inbox.DisableAds
+ v4.8
+ 512
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ none
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {b3f8761a-b4b2-4378-9fe8-06bbfc39fce6}
+ Perfect11.TweaksInterface
+ False
+
+
+
+
\ No newline at end of file
diff --git a/tweaks/Perfect11.Inbox.DisableAds/Properties/AssemblyInfo.cs b/tweaks/Perfect11.Inbox.DisableAds/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..47aea9b
--- /dev/null
+++ b/tweaks/Perfect11.Inbox.DisableAds/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Perfect11 Inbox Tweaks")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Vichingo455")]
+[assembly: AssemblyProduct("Perfect11")]
+[assembly: AssemblyCopyright("Copyright © 2025 Vichingo455")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("0bcf623d-b134-4824-9167-2f0a39532bdd")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/tweaks/Perfect11.Inbox.DisableAds/Tweak.cs b/tweaks/Perfect11.Inbox.DisableAds/Tweak.cs
new file mode 100644
index 0000000..1bb16fc
--- /dev/null
+++ b/tweaks/Perfect11.Inbox.DisableAds/Tweak.cs
@@ -0,0 +1,57 @@
+using Microsoft.Win32;
+using Perfect11.TweaksInterface;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Perfect11.Inbox.DisableAds
+{
+ public class Tweak : IPlugin
+ {
+ public string Name => "Disable ADs";
+ public string Description => "Disables ADs and promotions in Windows.";
+ public string Category => "Annoyances";
+ public string Execute()
+ {
+ // 1️ ContentDeliveryManager
+ using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"))
+ {
+ key?.SetValue("SubscribedContent-338393Enabled", 0, RegistryValueKind.DWord);
+ key?.SetValue("RotatingLockScreenEnabled", 0, RegistryValueKind.DWord);
+ key?.SetValue("RotatingLockScreenOverlayEnabled", 0, RegistryValueKind.DWord);
+ key?.SetValue("SubscribedContent-338387Enabled", 0, RegistryValueKind.DWord);
+ key?.SetValue("SilentInstalledAppsEnabled", 0, RegistryValueKind.DWord);
+ key?.SetValue("SoftLandingEnabled", 0, RegistryValueKind.DWord);
+ }
+
+ // 2️ AdvertisingInfo
+ using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo"))
+ {
+ key?.SetValue("Enabled", 0, RegistryValueKind.DWord);
+ }
+
+ // 3️ Privacy
+ using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Privacy"))
+ {
+ key?.SetValue("TailoredExperiencesWithDiagnosticDataEnabled", 0, RegistryValueKind.DWord);
+ }
+
+ // 4️ Explorer
+ using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"))
+ {
+ key?.SetValue("Start_IrisRecommendations", 0, RegistryValueKind.DWord);
+ key?.SetValue("ShowSyncProviderNotifications", 0, RegistryValueKind.DWord);
+ }
+
+ // 5️ UserProfileEngagement
+ using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement"))
+ {
+ key?.SetValue("ScoobeSystemSettingEnabled", 0, RegistryValueKind.DWord);
+ }
+
+ return "ADs disabled successfully.";
+ }
+ }
+}
diff --git a/tweaks/Perfect11.Inbox.Spotlight/Perfect11.Inbox.Spotlight.csproj b/tweaks/Perfect11.Inbox.Spotlight/Perfect11.Inbox.Spotlight.csproj
new file mode 100644
index 0000000..9b0324e
--- /dev/null
+++ b/tweaks/Perfect11.Inbox.Spotlight/Perfect11.Inbox.Spotlight.csproj
@@ -0,0 +1,54 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {77376E26-3164-4ED7-9F85-02B3AEBFC751}
+ Library
+ Properties
+ Perfect11.Inbox.Spotlight
+ Perfect11.Inbox.Spotlight
+ v4.8
+ 512
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {b3f8761a-b4b2-4378-9fe8-06bbfc39fce6}
+ Perfect11.TweaksInterface
+
+
+
+
\ No newline at end of file
diff --git a/tweaks/Perfect11.Inbox.Spotlight/Properties/AssemblyInfo.cs b/tweaks/Perfect11.Inbox.Spotlight/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..55360e3
--- /dev/null
+++ b/tweaks/Perfect11.Inbox.Spotlight/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Perfect11.Inbox.Spotlight")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Perfect11.Inbox.Spotlight")]
+[assembly: AssemblyCopyright("Copyright © 2025")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("77376e26-3164-4ed7-9f85-02b3aebfc751")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/tweaks/Perfect11.Inbox.Spotlight/Tweak.cs b/tweaks/Perfect11.Inbox.Spotlight/Tweak.cs
new file mode 100644
index 0000000..2c90f9c
--- /dev/null
+++ b/tweaks/Perfect11.Inbox.Spotlight/Tweak.cs
@@ -0,0 +1,20 @@
+using Perfect11.TweaksInterface;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Perfect11.Inbox.Spotlight
+{
+ public class Tweak : IPlugin
+ {
+ public string Name => "Enable/Disable Windows Spotlight";
+ public string Description => "Enable or Disable Windows Spotlight feature";
+ public string Category => "Annoyances";
+ public string Execute()
+ {
+
+ }
+ }
+}