在 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
设置的纯色背景。
我知道使用 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
设置的纯色背景。