У меня есть консольное приложение на .Net 6 C#, которое заменяет обои рабочего стола текущего пользователя на изображение в течение заданного времени. Я делаю резервную копию текущей конфигурации обоев пользователя, читая реестр. По истечении заданного времени я хотел бы восстановить конфигурацию обоев, которую пользователь имел в начале.
Мне удалось восстановить режим изображения, цвет и режим слайд-шоу, но я этого не сделал. Мне пока не удалось восстановить режим Windows Spotlight. В идеале я бы хотел, чтобы он работал в Windows 10, 11, Windows Server 2016, 2019 и 2022 (я понимаю, что между этими средами могут быть различия).
Вопрос
Как восстановить конфигурацию обоев рабочего стола в режиме Windows Spotlight на C#?
Проверенное решение
Я попробовал установить следующий ключ реестра, но ничего не дало:
Код: Выделить всё
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\BackgroundType = 3
Мне удалось изменить режим обоев на «Прожектор Windows» в обоях Пользовательский интерфейс настроек персонализации, но он не изменил обои эффективно. Хотя настройки отображаются как установленные, это похоже на то, что «Менеджер Spotlight» (или что-то еще, управляющее режимом Spotlight Windows) не работает.
Чтобы достичь этого состояния, я применил следующие ключи реестра:
Код: Выделить всё
HKCU\SOFTWARE\Policies\Microsoft\Windows\CloudContent\DisableWindowsSpotlightFeatures = 0
HKCU\SOFTWARE\Policies\Microsoft\Windows\CloudContent\DisableSpotlightCollectionOnDesktop = 0
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\BackgroundType = 3
HKCU\Software\Microsoft\Windows\CurrentVersion\DesktopSpotlight\Settings\EnabledState = 1
Подробнее здесь: https://stackoverflow.com/questions/788 ... -mode-in-c