通過運行Python腳本來更改Windows背景
在我們開始之前,一定要注意這篇文章只針對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”。輸入后,將為您打開一個文件夾。只需將腳本復制到此文件夾即可。(打開計算機時,此文件夾中的每個程序都會運行)