在 Python 中更改 Windows 10 个背景纯色

Change Windows 10 Background Solid Color in Python

我知道使用 ctypes.windll.user32.SystemParametersInfoW(20, 0, pathToImage, 3) 我可以更改墙纸图像,通过将 pathToImage 设置为空字符串,我实际上没有图像作为墙纸,因此我会看到 纯色背景.

我的问题是,如何更改纯色背景


编辑#1

进一步调查 Windows API。我发现 IDesktopWallpaper setbackgroundcolor() 方法听起来像我需要的东西。但是,我不知道如何通过 python 或命令行 call/use 它。

而不是使用 IDesktopWallpaper, it is more simpler to use SetSysColors(来自 winuser.h header)。

在 Python 中,代码如下所示:

import ctypes
from ctypes.wintypes import RGB
from ctypes import byref, c_int

def changeSystemColor(color)
    ctypes.windll.user32.SetSysColors(1, byref(c_int(1)), byref(c_int(color)))

if __name__ == '__main__':
    color = RGB(255, 0, 0) # red
    changeColor(color)

如您的 post 所述,您可以 ctypes.windll.user32.SystemParametersInfoW(20, 0, "", 3) 删除墙纸图像,露出您可以使用 ctypes.windll.user32.SetSysColors 设置的纯色背景。