Python、「時間に合わせて壁紙が変わるアプリ」作れるか試してみた。
突然、こんなのあったら使いたいかもというアイデアが降ってきたので試してみます。
一番最初のコードです。ここから手直ししていきます。
import os
import time
from datetime import datetime
def change_wallpaper():
current_hour = datetime.now().hour
if 6 <= current_hour < 12:
wallpaper_path = "morning_wallpaper.jpg"
elif 12 <= current_hour < 18:
wallpaper_path = "afternoon_wallpaper.jpg"
else:
wallpaper_path = "evening_wallpaper.jpg"
# OSによって壁紙の変更方法が異なるため、適切なコマンドを挿入してください。
# 以下はWindowsの場合の例です。
os.system('powershell.exe Set-Wallpaper -Path "{}"'.format(wallpaper_path))
if __name__ == "__main__":
change_wallpaper()
import ctypes
import os
from datetime import datetime
def change_wallpaper(wallpaper_path):
SPI_SETDESKWALLPAPER = 20
ctypes.windll.user32.SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, wallpaper_path, 3)
if __name__ == "__main__":
current_hour = datetime.now().hour
if 6 <= current_hour < 12:
wallpaper_path = "C:\\Users\\mmorning_wallpaper.jpg"
elif 12 <= current_hour < 18:
wallpaper_path = "C:\\Users\\afternoon_wallpaper.jpg"
else:
wallpaper_path = "C:\\Users\\evening_wallpaper.jpg"
change_wallpaper(wallpaper_path)
実行してみます。
実行ボタンを押さなくても、自動で変わるように変更したいです。(未確認)とりあえず書いておきます。
import ctypes
import os
from datetime import datetime
import time
def change_wallpaper(wallpaper_path):
SPI_SETDESKWALLPAPER = 20
ctypes.windll.user32.SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, wallpaper_path, 3)
if __name__ == "__main__":
while True:
current_hour = datetime.now().hour
if 6 <= current_hour < 12:
wallpaper_path = "C:\\Users\\morning_wallpaper.jpg"
elif 12 <= current_hour < 18:
wallpaper_path = "C:\\Users\\afternoon_wallpaper.jpg"
else:
wallpaper_path = "C:\\Users\\evening_wallpaper.jpg"
change_wallpaper(wallpaper_path)
# 一定の間隔を待つ(例: 1時間ごと)
time.sleep(3600) # 単位は秒なので、3600秒は1時間に相当
最後までお読みいただきありがとうございます。
♡頂けますと、励みになります。
この記事が気に入ったらサポートをしてみませんか?