Files
2025-10-23 08:58:08 +02:00

109 lines
5.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Win32;
using Perfect11.TweaksInterface;
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()
{
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.";
}
}
}
}