Код: Выделить всё
import ctypes
import winreg
def set_wallpaper_simple(image_path: str):
try:
abs_path = os.path.abspath(image_path)
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,
"Control Panel\\Desktop",
0,
winreg.KEY_SET_VALUE)
winreg.SetValueEx(key, "Wallpaper", 0, winreg.REG_SZ, abs_path)
winreg.SetValueEx(key, "WallpaperStyle", 0, winreg.REG_SZ, "10")
winreg.SetValueEx(key, "TileWallpaper", 0, winreg.REG_SZ, "0")
winreg.CloseKey(key)
ctypes.windll.user32.SystemParametersInfoW(20, 0, abs_path, 3)
return True
except Exception as e:
return False
Я хочу, чтобы обои обновлялись на ВСЕХ ВИРТУАЛЬНЫХ СТОЛАХ одновременно — на рабочих столах 2, 3 и т. д. — а не только на текущем.
Я пробовал искать функции Windows API, связанные с виртуальными рабочими столами, изучая IVirtualDesktopManager, но не знаю, как это сделать. для взаимодействия с ним из Python.
Есть ли способ применить смену обоев ко всем виртуальным рабочим столам в Windows 11 программным способом с помощью Python? Если не через реестр, возможно, я могу использовать COM-интерфейс или другой API?
Я использую Python 3.13 в Windows 11.
Подробнее здесь: https://stackoverflow.com/questions/798 ... -windows-1
Мобильная версия