Created
April 28, 2020 06:37
-
-
Save h4mid007/3db5bb23d29e1147f960a0499bd4aa6f to your computer and use it in GitHub Desktop.
Bing daily wallpaper -> python -> windows
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import ctypes | |
from win32api import * | |
from win32gui import * | |
import win32con | |
import sys | |
import os | |
import struct | |
import time | |
from requests import get | |
while True: | |
data = get(url='https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US') | |
data = data.json() | |
pic = 'http://bing.com' + data['images'][0]['url'] | |
title = data['images'][0]['title'] | |
pic = get(url=pic) | |
f = open('pic.jpg',mode='wb') | |
f.write(pic.content) | |
f.close() | |
SPI_SETDESKWALLPAPER = 20 | |
ctypes.windll.user32.SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, os.path.abspath("pic.jpg") , 0) | |
from winreg import * | |
keyVal = r'Control Panel\Desktop' | |
key = CreateKey(HKEY_CURRENT_USER, keyVal) | |
SetValueEx(key, "TileWallpaper", 0, REG_SZ, "0") | |
SetValueEx(key, "WallpaperStyle", 0, REG_SZ, "10") | |
CloseKey(key) | |
######################################################################################################### | |
class WindowsBalloonTip: | |
def __init__(self, title, msg): | |
message_map = { | |
win32con.WM_DESTROY: self.OnDestroy, | |
} | |
# Register the Window class. | |
wc = WNDCLASS() | |
hinst = wc.hInstance = GetModuleHandle(None) | |
wc.lpszClassName = "PythonTaskbar" | |
wc.lpfnWndProc = message_map # could also specify a wndproc. | |
classAtom = RegisterClass(wc) | |
# Create the Window. | |
style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU | |
self.hwnd = CreateWindow( classAtom, "Taskbar", style, \ | |
0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, \ | |
0, 0, hinst, None) | |
UpdateWindow(self.hwnd) | |
iconPathName = os.path.abspath(os.path.join( sys.path[0], "balloontip.ico" )) | |
icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE | |
try: | |
hicon = LoadImage(hinst, iconPathName, \ | |
win32con.IMAGE_ICON, 0, 0, icon_flags) | |
except: | |
hicon = LoadIcon(0, win32con.IDI_APPLICATION) | |
flags = NIF_ICON | NIF_MESSAGE | NIF_TIP | |
nid = (self.hwnd, 0, flags, win32con.WM_USER+20, hicon, "tooltip") | |
Shell_NotifyIcon(NIM_ADD, nid) | |
Shell_NotifyIcon(NIM_MODIFY, \ | |
(self.hwnd, 0, NIF_INFO, win32con.WM_USER+20,\ | |
hicon, "Balloon tooltip",msg,200,title)) | |
# self.show_balloon(title, msg) | |
time.sleep(5) | |
DestroyWindow(self.hwnd) | |
UnregisterClass(classAtom, hinst) | |
def OnDestroy(self, hwnd, msg, wparam, lparam): | |
nid = (self.hwnd, 0) | |
Shell_NotifyIcon(NIM_DELETE, nid) | |
PostQuitMessage(0) # Terminate the app. | |
def balloon_tip(title, msg): | |
w=WindowsBalloonTip(title, msg) | |
balloon_tip('Wallpaper changed!', title) | |
time.sleep(3600*6) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment