通过运行python脚本来更改Windows背景
马哥Linux运维
共 2105字,需浏览 5分钟
·
2021-05-19 06:56
在我们开始之前,一定要注意这篇文章只针对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”。输入后,将为您打开一个文件夹。只需将脚本复制到此文件夹即可。(打开计算机时,此文件夹中的每个程序都会运行)
文章转载:Python
点击下方“阅读原文”查看更多
评论