当前位置: 首页 > news >正文

Windows自动化实现:系统通知和任务栏图标自定义

文章目录

  • Windows自动化的三个小工具
    • 系统通知
    • 任务栏图标
      • 使用pystray实现
      • 使用infi.systray实现

Windows自动化的三个小工具

系统通知

import win10toastwin10toast.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), # 菜单项1pystray.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.systraydef 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()方法启动图标。请添加图片描述

http://www.lryc.cn/news/294113.html

相关文章:

  • Spring | Spring的“数据库开发“ (Srping JDBC)
  • 面试八股文(2)
  • 记elasticsearch CPU负载100%问题
  • 回归预测 | Matlab实现OOA-CNN-LSTM-Attention鱼鹰算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制)
  • PyTorch、NCNN、CV::Mat三者张量的shape
  • 社交平台内容创作未来会有哪些方向?
  • MySQL温故篇(一)SQL语句基础
  • C 检查小端存储还是大端
  • 【ETOJ P1021】树的遍历 题解(有向图+深度优先搜索+广度优先搜索)
  • 红队渗透靶机:LEMONSQUEEZY: 1
  • 【Servlet】——Servlet API 详解
  • oracle主库增加redo组数
  • lua只读表
  • 探索深度学习的边界:使用 TensorFlow 实现高效空洞卷积(Atrous Convolution)的全面指南
  • HarmonyOS案例:摇杆游戏
  • Elasticsearch:构建自定义分析器指南
  • Git系列---远程操作
  • kafka客户端生产者消费者kafka可视化工具(可生产和消费消息)
  • 【从0上手Cornerstone3D】如何使用CornerstoneTools中的工具之工具介绍
  • 02-Java抽象工厂模式 ( Abstract Factory Pattern )
  • yarn/npm certificate has expired
  • 第十三篇【传奇开心果系列】Python的OpenCV库技术点案例示例:光流估计
  • iOS面试题
  • 【5G SA流程】5G SA下终端完整注册流程介绍
  • 101 C++内存高级话题 内存池概念,代码实现和详细分析
  • 算计是一种混合了感性和理性的非纯粹逻辑系统
  • Python 处理小样本数据的文档分类问题
  • centos7安装oracle
  • Web html
  • Go语言学习踩坑记