《使用 Python 脚本更改 Windows 背景》
让我们用 Python 来编写一些有趣的代码吧!在开始之前,请注意,此内容仅适用于 Windows 用户。对于使用 Windows 系统的朋友来说,这是一个有趣的想法。
如果您想用 Python 更改桌面背景,应该怎么做呢?您可能会去查找一个库或者正在寻找一个库,但在 Windows 中,这并不需要库,您可以使用 ctypes
来更改背景,无需安装特殊的库。
实际上,通过在 ctypes
中使用常用的更改系统参数的命令就可以更改桌面背景。(让我们以面向对象的方式编写程序,以使我们的工作整洁有序。)
import ctypes
class Main:
def __init__(self):
path = 'c:/...'
ctypes.windll.user32.SystemParametersInfoW(20, 0, path, 0)
application = Main()
只需提供 png
、jpg
等格式文件的地址,就可以轻松临时更改您的桌面壁纸。
现在让我们让程序更具吸引力。假设我们有一个名为“backgrounds”的文件夹,并且我们希望从中随机选择一张图片并将其设置为桌面背景。
首先,我们需要获取项目当前所在的地址。我们可以使用 os
和 sys
来做到这一点。
>>> import os
>>> import sys
>>> os.path.abspath(os.path.dirname(sys.argv[0]))
'C:\\Users\\user'
现在获取“backgrounds”文件夹,并将其中的文件下载下来放入一个列表中。请注意,我们只接收以 png
、jpg
和 jpeg
结尾的文件。然后随机选择一个项目并将其设置为桌面背景。(要从列表中随机选择一个选项,我们需要 random
库)
import os
import sys
import ctypes
import random
class Main:
def __init__(self):
self.path = os.path.abspath(os.path.dirname(sys.argv[0]))
for root, directories, files in os.walk(os.path.join(self.path, 'backgrounds')):
self.backgrounds = [file.lower() for file in files if file.endswith(('.png', '.jpg', '.jpeg'))]
ctypes.windll.user32.SystemParametersInfoW(20, 0, os.path.join(self.path, 'backgrounds', random.choice(self.backgrounds)), 0)
application = Main()
我们完成了!现在,我们可以将想要的图片放入“backgrounds”文件夹中,每次运行此脚本时,都会随机为我们的桌面设置一个临时背景。
一个有趣的点!
如果您希望在计算机启动时自动运行此脚本,可以使用组合键(win + r)打开“运行”窗口,并输入“shell: startup”。进入后,会为您打开一个文件夹。只需将脚本复制到此文件夹中。(此文件夹中的每个程序都会在您打开计算机时运行)