Sternenhimmel Tapete in der Nacht (Python)

Eine Geschichte über das Erstellen eines Skripts, das das Windows-Hintergrundbild je nach Zeit ändert.

Punkt:

import ctypes
import os
import datetime
import time


image_dir = r'D:\wallpaper'
current_image_name = None

while True:
    now = datetime.datetime.now()

    if now.hour < 6 or 19 <= now.hour:
        new_image_name = 'star.png'
    elif 17 <= now.hour:
        new_image_name = 'sunset.jpeg'
    else:
        new_image_name = 'daytime.jpeg'
    
    if new_image_name != current_image_name:
        abs_file_name = os.path.join(image_dir , new_image_name)
        ctypes.windll.user32.SystemParametersInfoW(20, 0,  abs_file_name, 0)
        current_image_name = new_image_name

    time.sleep(1)  # check every 1 sec

Da es beim Umschalten flackert, suchen Sie nach Änderungen und führen Sie "SystemParametersInfoW" nur aus, wenn es eine Änderung gibt.

Es kann interessant sein, es zu jeder Jahreszeit zu ändern. Es wäre schön, wenn die Tapete wie ein Fenster aussehen würde und Sie die Zeit und Jahreszeit fühlen könnten.

Recommended Posts

Sternenhimmel Tapete in der Nacht (Python)
Python bei Docker
[Python] Competitive Pro-Vorlage [At Coder]