mirror of
https://github.com/theitaliandeveloper/Perfect11.git
synced 2025-12-06 09:02:03 +00:00
work with some things
This commit is contained in:
@@ -36,7 +36,9 @@ namespace Perfect11
|
|||||||
welcomePage.Theme = ThemeStyle.Dark;
|
welcomePage.Theme = ThemeStyle.Dark;
|
||||||
debloatPage.Theme = ThemeStyle.Dark;
|
debloatPage.Theme = ThemeStyle.Dark;
|
||||||
poisonLabel1.Theme = ThemeStyle.Dark;
|
poisonLabel1.Theme = ThemeStyle.Dark;
|
||||||
|
poisonLabel1.ForeColor = Color.FromArgb(255,255,255);
|
||||||
poisonLabel2.Theme = ThemeStyle.Dark;
|
poisonLabel2.Theme = ThemeStyle.Dark;
|
||||||
|
poisonLabel2.ForeColor = Color.FromArgb(255, 255, 255);
|
||||||
LblInstalledCount.Theme = ThemeStyle.Dark;
|
LblInstalledCount.Theme = ThemeStyle.Dark;
|
||||||
LblRemoveCount.Theme = ThemeStyle.Dark;
|
LblRemoveCount.Theme = ThemeStyle.Dark;
|
||||||
LstUWP.Theme = ThemeStyle.Dark;
|
LstUWP.Theme = ThemeStyle.Dark;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Perfect11.TweaksInterface;
|
using Perfect11.TweaksInterface;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -10,6 +11,12 @@ using System.Security.Principal;
|
|||||||
|
|
||||||
namespace Perfect11.Library
|
namespace Perfect11.Library
|
||||||
{
|
{
|
||||||
|
public class AppInfo
|
||||||
|
{
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Id { get; set; }
|
||||||
|
public bool Install { get; set; }
|
||||||
|
}
|
||||||
public class Utilities
|
public class Utilities
|
||||||
{
|
{
|
||||||
public static bool IsWindows11()
|
public static bool IsWindows11()
|
||||||
@@ -112,5 +119,33 @@ namespace Perfect11.Library
|
|||||||
string languageCode = CultureInfo.CurrentUICulture.Name;
|
string languageCode = CultureInfo.CurrentUICulture.Name;
|
||||||
return languageCode.ToLower();
|
return languageCode.ToLower();
|
||||||
}
|
}
|
||||||
|
public static List<AppInfo> LoadApps(string resourceName)
|
||||||
|
{
|
||||||
|
var assembly = Assembly.GetExecutingAssembly();
|
||||||
|
|
||||||
|
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
|
||||||
|
{
|
||||||
|
if (stream == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("❌ Risorsa non trovata: " + resourceName);
|
||||||
|
return new List<AppInfo>();
|
||||||
|
}
|
||||||
|
|
||||||
|
using (StreamReader reader = new StreamReader(stream))
|
||||||
|
{
|
||||||
|
string json = reader.ReadToEnd();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var apps = JsonConvert.DeserializeObject<List<AppInfo>>(json);
|
||||||
|
return apps ?? new List<AppInfo>();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("❌ Errore parsing JSON: " + ex.Message);
|
||||||
|
return new List<AppInfo>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,6 +60,9 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Microsoft.VisualBasic" />
|
<Reference Include="Microsoft.VisualBasic" />
|
||||||
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="ReaLTaiizor, Version=3.8.1.3, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="ReaLTaiizor, Version=3.8.1.3, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ReaLTaiizor.3.8.1.3\lib\net48\ReaLTaiizor.dll</HintPath>
|
<HintPath>..\packages\ReaLTaiizor.3.8.1.3\lib\net48\ReaLTaiizor.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
|
<package id="Newtonsoft.Json" version="13.0.4" targetFramework="net48" />
|
||||||
<package id="ReaLTaiizor" version="3.8.1.3" targetFramework="net48" />
|
<package id="ReaLTaiizor" version="3.8.1.3" targetFramework="net48" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
<DebugType>pdbonly</DebugType>
|
<DebugType>none</DebugType>
|
||||||
<Optimize>true</Optimize>
|
<Optimize>true</Optimize>
|
||||||
<OutputPath>bin\Release\</OutputPath>
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
|
|||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("Perfect11.Inbox.Spotlight")]
|
[assembly: AssemblyTitle("Perfect11 Inbox Tweaks")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("Vichingo455")]
|
||||||
[assembly: AssemblyProduct("Perfect11.Inbox.Spotlight")]
|
[assembly: AssemblyProduct("Perfect11")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2025")]
|
[assembly: AssemblyCopyright("Copyright © 2025 Vichingo455")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
using Perfect11.TweaksInterface;
|
using System;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.Win32;
|
||||||
|
using Perfect11.TweaksInterface;
|
||||||
|
|
||||||
namespace Perfect11.Inbox.Spotlight
|
namespace Perfect11.Inbox.Spotlight
|
||||||
{
|
{
|
||||||
@@ -14,7 +15,94 @@ namespace Perfect11.Inbox.Spotlight
|
|||||||
public string Category => "Annoyances";
|
public string Category => "Annoyances";
|
||||||
public string Execute()
|
public string Execute()
|
||||||
{
|
{
|
||||||
|
bool IsNotWindowsSpotlight()
|
||||||
|
{
|
||||||
|
const string keyPath = @"SOFTWARE\Policies\Microsoft\Windows\CloudContent";
|
||||||
|
const string valueName = "DisableWindowsSpotlightFeatures";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (RegistryKey key = Registry.CurrentUser.OpenSubKey(keyPath))
|
||||||
|
{
|
||||||
|
if (key == null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
object value = key.GetValue(valueName);
|
||||||
|
if (value == null)
|
||||||
|
return false;
|
||||||
|
if (value is int intValue)
|
||||||
|
return intValue == 1;
|
||||||
|
|
||||||
|
string stringValue = value.ToString();
|
||||||
|
if (int.TryParse(stringValue, out int parsed))
|
||||||
|
return parsed == 1;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!IsNotWindowsSpotlight())
|
||||||
|
{
|
||||||
|
using (var key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Policies\Microsoft\Windows\CloudContent"))
|
||||||
|
{
|
||||||
|
key?.SetValue("DisableCloudOptimizedContent", 1, RegistryValueKind.DWord);
|
||||||
|
}
|
||||||
|
using (var key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Policies\Microsoft\Windows\CloudContent"))
|
||||||
|
{
|
||||||
|
key?.SetValue("DisableWindowsSpotlightFeatures", 1, RegistryValueKind.DWord);
|
||||||
|
key?.SetValue("DisableWindowsSpotlightWindowsWelcomeExperience", 1, RegistryValueKind.DWord);
|
||||||
|
key?.SetValue("DisableWindowsSpotlightOnActionCenter", 1, RegistryValueKind.DWord);
|
||||||
|
key?.SetValue("DisableWindowsSpotlightOnSettings", 1, RegistryValueKind.DWord);
|
||||||
|
key?.SetValue("DisableThirdPartySuggestions", 1, RegistryValueKind.DWord);
|
||||||
|
}
|
||||||
|
using (var key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"))
|
||||||
|
{
|
||||||
|
key?.SetValue("ContentDeliveryAllowed", 0, RegistryValueKind.DWord);
|
||||||
|
key?.SetValue("FeatureManagementEnabled", 0, RegistryValueKind.DWord);
|
||||||
|
key?.SetValue("SubscribedContentEnabled", 0, RegistryValueKind.DWord);
|
||||||
|
key?.SetValue("SubscribedContent-338387Enabled", 0, RegistryValueKind.DWord);
|
||||||
|
key?.SetValue("RotatingLockScreenOverlayEnabled", 0, RegistryValueKind.DWord);
|
||||||
|
}
|
||||||
|
using (var key = Registry.CurrentUser.CreateSubKey(
|
||||||
|
@"Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel"))
|
||||||
|
{
|
||||||
|
key?.SetValue("{2cc5ca98-6485-489a-920e-b3e88a6ccce3}", 1, RegistryValueKind.DWord);
|
||||||
|
}
|
||||||
|
return "Spotlight was disabled successfully.";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
using (var key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Policies\Microsoft\Windows\CloudContent"))
|
||||||
|
{
|
||||||
|
key.DeleteValue("DisableCloudOptimizedContent", false);
|
||||||
|
}
|
||||||
|
using (var key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Policies\Microsoft\Windows\CloudContent"))
|
||||||
|
{
|
||||||
|
key.DeleteValue("DisableWindowsSpotlightFeatures", false);
|
||||||
|
key.DeleteValue("DisableWindowsSpotlightWindowsWelcomeExperience", false);
|
||||||
|
key.DeleteValue("DisableWindowsSpotlightOnActionCenter", false);
|
||||||
|
key.DeleteValue("DisableWindowsSpotlightOnSettings", false);
|
||||||
|
key.DeleteValue("DisableThirdPartySuggestions", false);
|
||||||
|
}
|
||||||
|
using (var key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"))
|
||||||
|
{
|
||||||
|
key.DeleteValue("ContentDeliveryAllowed", false);
|
||||||
|
key.DeleteValue("FeatureManagementEnabled", false);
|
||||||
|
key.DeleteValue("SubscribedContentEnabled", false);
|
||||||
|
key.DeleteValue("SubscribedContent-338387Enabled", false);
|
||||||
|
key.DeleteValue("RotatingLockScreenOverlayEnabled", false);
|
||||||
|
}
|
||||||
|
using (var key = Registry.CurrentUser.CreateSubKey(
|
||||||
|
@"Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel"))
|
||||||
|
{
|
||||||
|
key.DeleteValue("{2cc5ca98-6485-489a-920e-b3e88a6ccce3}", false);
|
||||||
|
}
|
||||||
|
return "Spotlight was enabled successfully.";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user