文章目录
- Windows自动化的三个小工具
- 系统通知
- 任务栏图标
- 使用pystray实现
- 使用infi.systray实现
Windows自动化的三个小工具
系统通知
import win10toast
win10toast.ToastNotifier().show_toast(
"eee", "休息一下", icon_path="icon.ico", duration=5)
这段代码使用win10toast
库显示一个Windows通知。通过调用show_toast()
函数,可以在系统托盘区域显示一个通知,通知的标题为"eee",内容为"休息一下",图标使用"icon.ico",持续显示时间为5秒。
任务栏图标
使用pystray实现
import pystray
from PIL import Image
import PIL.Image
import PIL.ImageTk
# 加载图标图片
def load_icon_image(file_path):
"""加载图标图片"""
icon_img = PIL.Image.open(file_path)
return icon_img
# 创建菜单
def create_menu():
"""创建程序菜单"""
menu = pystray.Menu(
pystray.MenuItem("你好", say_hello), # 菜单项1
pystray.MenuItem("退出", exit_program) # 菜单项2
)
return menu
# 菜单功能函数
def say_hello():
"""点击'你好'时打印问候语"""
print("Hello")
def exit_program():
"""点击'退出'时结束程序"""
icon.stop()
# 创建图标
def create_icon():
"""创建系统托盘图标"""
icon_img = load_icon_image("icon.ico")
menu = create_menu()
icon = pystray.Icon("name", icon_img, "图标", menu)
return icon
# 运行图标
if __name__ == "__main__":
icon = create_icon()
icon.run()
这段代码使用pystray
库创建一个系统托盘图标,同时设置了一个菜单。通过调用load_icon_image()
函数加载图标图片,再调用create_menu()
函数创建菜单。菜单中包含两个项,分别是"你好"和"退出",点击"你好"时会调用say_hello()
函数打印问候语,点击"退出"时会调用exit_program()
函数结束程序。最后,调用create_icon()
函数创建图标对象,并调用run()
方法显示图标。
使用infi.systray实现
import infi.systray
def on_click(text):
print(f"{text} clicked")
menu_items = (
("开始", "icon.ico", on_click),
("开始2", "icon.ico", on_click)
)
icon = infi.systray.SysTrayIcon("icon.ico", "小助手", menu_items, on_click)
icon.start()
这段代码使用infi.systray
库创建一个系统托盘图标,并设置了一个菜单。通过定义on_click()
函数处理菜单项的点击事件,点击菜单项时会打印相应的文本。菜单中包含两个项,分别是"开始"和"开始2",点击这两个菜单项时都会调用on_click()
函数。最后,调用start()
方法启动图标。