new feature coming soon

This commit is contained in:
2025-10-19 16:06:43 +02:00
parent b8c45f39f4
commit 71a925e002
10 changed files with 455 additions and 34 deletions

View File

@@ -30,10 +30,10 @@
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.theme = new ReaLTaiizor.Forms.FormTheme(); this.theme = new ReaLTaiizor.Forms.FormTheme();
this.githubLink = new ReaLTaiizor.Controls.PoisonLinkLabel();
this.controlBoxEdit1 = new ReaLTaiizor.Controls.ControlBoxEdit(); this.controlBoxEdit1 = new ReaLTaiizor.Controls.ControlBoxEdit();
this.pages = new ReaLTaiizor.Controls.PoisonTabControl(); this.pages = new ReaLTaiizor.Controls.PoisonTabControl();
this.welcomePage = new ReaLTaiizor.Controls.PoisonTabPage(); this.welcomePage = new ReaLTaiizor.Controls.PoisonTabPage();
this.editionLabel = new ReaLTaiizor.Controls.PoisonLabel();
this.poisonLabel2 = new ReaLTaiizor.Controls.PoisonLabel(); this.poisonLabel2 = new ReaLTaiizor.Controls.PoisonLabel();
this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.poisonLabel1 = new ReaLTaiizor.Controls.PoisonLabel(); this.poisonLabel1 = new ReaLTaiizor.Controls.PoisonLabel();
@@ -51,13 +51,21 @@
this.tweaksPage = new ReaLTaiizor.Controls.PoisonTabPage(); this.tweaksPage = new ReaLTaiizor.Controls.PoisonTabPage();
this.runTweaks = new ReaLTaiizor.Controls.PoisonButton(); this.runTweaks = new ReaLTaiizor.Controls.PoisonButton();
this.tweaksList = new ReaLTaiizor.Controls.PoisonListView(); 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.theme.SuspendLayout();
this.pages.SuspendLayout(); this.pages.SuspendLayout();
this.welcomePage.SuspendLayout(); this.welcomePage.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.debloatPage.SuspendLayout(); this.debloatPage.SuspendLayout();
this.tweaksPage.SuspendLayout(); this.tweaksPage.SuspendLayout();
this.upgradePage.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// theme // theme
@@ -80,6 +88,21 @@
this.theme.TabIndex = 0; this.theme.TabIndex = 0;
this.theme.Text = "Perfect11"; 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 // controlBoxEdit1
// //
this.controlBoxEdit1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.controlBoxEdit1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -95,15 +118,17 @@
// pages // pages
// //
this.pages.Controls.Add(this.welcomePage); this.pages.Controls.Add(this.welcomePage);
this.pages.Controls.Add(this.upgradePage);
this.pages.Controls.Add(this.debloatPage); this.pages.Controls.Add(this.debloatPage);
this.pages.Controls.Add(this.tweaksPage); this.pages.Controls.Add(this.tweaksPage);
this.pages.Dock = System.Windows.Forms.DockStyle.Fill; this.pages.Dock = System.Windows.Forms.DockStyle.Fill;
this.pages.Location = new System.Drawing.Point(3, 28); this.pages.Location = new System.Drawing.Point(3, 28);
this.pages.Name = "pages"; this.pages.Name = "pages";
this.pages.SelectedIndex = 0; this.pages.SelectedIndex = 1;
this.pages.Size = new System.Drawing.Size(1323, 732); this.pages.Size = new System.Drawing.Size(1323, 732);
this.pages.TabIndex = 1; this.pages.TabIndex = 1;
this.pages.UseSelectable = true; this.pages.UseSelectable = true;
this.pages.SelectedIndexChanged += new System.EventHandler(this.pages_SelectedIndexChanged);
// //
// welcomePage // welcomePage
// //
@@ -124,17 +149,6 @@
this.welcomePage.VerticalScrollbarHighlightOnWheel = false; this.welcomePage.VerticalScrollbarHighlightOnWheel = false;
this.welcomePage.VerticalScrollbarSize = 51; 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 // poisonLabel2
// //
this.poisonLabel2.AutoSize = true; this.poisonLabel2.AutoSize = true;
@@ -360,20 +374,115 @@
this.tweaksList.UseStyleColors = true; this.tweaksList.UseStyleColors = true;
this.tweaksList.Resize += new System.EventHandler(this.tweaksList_Resize); this.tweaksList.Resize += new System.EventHandler(this.tweaksList_Resize);
// //
// githubLink // editionLabel
// //
this.githubLink.BackColor = System.Drawing.Color.Transparent; this.editionLabel.AutoSize = true;
this.githubLink.Cursor = System.Windows.Forms.Cursors.Hand; this.editionLabel.BackColor = System.Drawing.Color.Transparent;
this.githubLink.Location = new System.Drawing.Point(1275, 762); this.editionLabel.Location = new System.Drawing.Point(12, 763);
this.githubLink.Name = "githubLink"; this.editionLabel.Name = "editionLabel";
this.githubLink.Size = new System.Drawing.Size(48, 26); this.editionLabel.Size = new System.Drawing.Size(175, 19);
this.githubLink.TabIndex = 5; this.editionLabel.TabIndex = 4;
this.githubLink.Text = "GitHub"; this.editionLabel.Text = "Perfect11 Community Edition";
this.githubLink.UseCustomBackColor = true; this.editionLabel.UseCustomBackColor = true;
this.githubLink.UseCustomForeColor = true; //
this.githubLink.UseSelectable = true; // upgradePage
this.githubLink.UseStyleColors = true; //
this.githubLink.Click += new System.EventHandler(this.githubLink_Click); 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 // Form1
// //
@@ -400,6 +509,8 @@
this.debloatPage.ResumeLayout(false); this.debloatPage.ResumeLayout(false);
this.debloatPage.PerformLayout(); this.debloatPage.PerformLayout();
this.tweaksPage.ResumeLayout(false); this.tweaksPage.ResumeLayout(false);
this.upgradePage.ResumeLayout(false);
this.upgradePage.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@@ -429,6 +540,13 @@
private ReaLTaiizor.Controls.PoisonButton runTweaks; private ReaLTaiizor.Controls.PoisonButton runTweaks;
private ReaLTaiizor.Controls.PoisonLabel editionLabel; private ReaLTaiizor.Controls.PoisonLabel editionLabel;
private ReaLTaiizor.Controls.PoisonLinkLabel githubLink; 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;
} }
} }

View File

@@ -11,7 +11,7 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement; using System.Text.RegularExpressions;
namespace Perfect11 namespace Perfect11
{ {
@@ -58,6 +58,13 @@ namespace Perfect11
poisonLabel1.ForeColor = Color.FromArgb(255, 255, 255); poisonLabel1.ForeColor = Color.FromArgb(255, 255, 255);
poisonLabel2.ForeColor = Color.FromArgb(255, 255, 255); poisonLabel2.ForeColor = Color.FromArgb(255, 255, 255);
githubLink.Theme = ThemeStyle.Dark; 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 else
{ {
@@ -85,6 +92,13 @@ namespace Perfect11
LstUWPRemove.BackColor = Color.FromArgb(255,255,255); LstUWPRemove.BackColor = Color.FromArgb(255,255,255);
tweaksList.BackColor = Color.FromArgb(255,255,255); tweaksList.BackColor = Color.FromArgb(255,255,255);
githubLink.Theme = ThemeStyle.Light; 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) 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); 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;
}
}
} }
} }

View File

@@ -2,6 +2,7 @@
using Perfect11.TweaksInterface; using Perfect11.TweaksInterface;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
@@ -106,5 +107,10 @@ namespace Perfect11.Library
return $"Error: {ex.Message}"; return $"Error: {ex.Message}";
} }
} }
public static string GetLanguageCode()
{
string languageCode = CultureInfo.CurrentUICulture.Name;
return languageCode.ToLower();
}
} }
} }

View File

@@ -15,16 +15,11 @@ namespace Perfect11
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); 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. // Hide exception window because of some nags with the library.
#if DEBUG #if DEBUG
Application.ThreadException += (s, e) => 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 #else
Application.ThreadException += (s, e) => { }; Application.ThreadException += (s, e) => { };

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{0BCF623D-B134-4824-9167-2F0A39532BDD}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Perfect11.Inbox.DisableAds</RootNamespace>
<AssemblyName>Perfect11.Inbox.DisableAds</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Tweak.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Perfect11.TweaksInterface\Perfect11.TweaksInterface.csproj">
<Project>{b3f8761a-b4b2-4378-9fe8-06bbfc39fce6}</Project>
<Name>Perfect11.TweaksInterface</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -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")]

View File

@@ -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.";
}
}
}

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{77376E26-3164-4ED7-9F85-02B3AEBFC751}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Perfect11.Inbox.Spotlight</RootNamespace>
<AssemblyName>Perfect11.Inbox.Spotlight</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Tweak.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Perfect11.TweaksInterface\Perfect11.TweaksInterface.csproj">
<Project>{b3f8761a-b4b2-4378-9fe8-06bbfc39fce6}</Project>
<Name>Perfect11.TweaksInterface</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -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")]

View File

@@ -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()
{
}
}
}