在我们开始之前,一定要注意这篇文章只针对Windows用户!对于那些使用Windows的人来说,这是一个有趣的想法。
如果您想使用python更改桌面背景,您会做什么?您可能要去一个库或寻找一个库,但是这不需要Windows中的库,您可以在不安装特殊库和使用ctype的情况下更改背景。
实际上,可以使用常用的命令更改桌面背景,以更改ctype中的系统参数。(让我们写一个面向对象的程序,这样我们的工作就干净有序了。)
- import ctypes
-
- class Main:
- def __init__(self):
- path = 'c:/...'
- ctypes.windll.user32.SystemParametersInfoW(20, 0, path , 0)
-
- application = Main()
通过给出PNG、jpg等文件的地址,可以很容易地临时更改桌面壁纸。
现在让我们让这个程序更有吸引力,假设我们有一个名为“后台”的文件夹,我们想从其中随机选择一个图像,并将其设置在我们的桌面背景上。
首先,我们需要得到项目现在所在的地址。我们可以使用os和sys来完成这个任务。
- >>> import os
- >>> import sys
- >>> os.path.abspath(os.path.dirname(sys.argv[0]))
- 'C:\\Users\\user'
现在只需拿起“背景”文件夹并下载其中的文件,并将它们放在列表中。当然,请注意,我们接收以png、jpg和jpeg结尾的文件,然后选择一个随机项并命令它随机更改桌面背景。(要从列表中选择一个随机选项,我们需要一个随机库)
- 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()
现在,我们可以把我们想要的图像放在“背景”文件夹中,并在每次运行这个脚本时在桌面上临时设置一个随机的背景。
一个有趣的观点!
如果您想在打开计算机时自动运行此脚本,可以使用键组合(win+r)打开“Run”窗口,并输入“shell:start”。输入后,将为您打开一个文件夹。只需将脚本复制到此文件夹即可。(打开计算机时,此文件夹中的每个程序都会运行)