python 系统托盘_python3 tkinter写出来的程序最小化到系统托盘

这段代码展示了如何使用Python创建一个系统托盘图标,并实现菜单功能。它基于Windows API,利用win32gui库来处理窗口类和消息。当图标被双击或右键点击时,会显示一个菜单,允许用户进行相应的操作。代码中包含了一个简单的自我测试示例。
摘要由CSDN通过智能技术生成

其实就是windowsApi的一层封装。

#!/usr/bin/env python

# Module : SysTrayIcon.py

# Synopsis : Windows System tray icon.

# Programmer : Simon Brunning - simon@brunningonline.net

# Date : 11 April 2005

# Notes : Based on (i.e. ripped off from) Mark Hammond's

# win32gui_taskbar.py and win32gui_menu.py demos from PyWin32

'''TODO

For now, the demo at the bottom shows how to use it...'''

import os

import sys

import win32api

import win32con

import win32gui_struct

try:

import winxpgui as win32gui

except ImportError:

import win32gui

class SysTrayIcon(object):

'''TODO'''

QUIT = 'QUIT'

SPECIAL_ACTIONS = [QUIT]

FIRST_ID = 1023

def __init__(self,

icon,

hover_text,

menu_options,

on_quit=None,

default_menu_index=None,

window_class_name=None,):

self.icon = icon

self.hover_text = hover_text

self.on_quit = on_quit

menu_options = menu_options + (('Quit', None, self.QUIT),)

self._next_action_id = self.FIRST_ID

self.menu_actions_by_id = set()

self.menu_options = self._add_ids_to_menu_options(list(menu_options))

self.menu_actions_by_id = dict(self.menu_actions_by_id)

del self._next_action_id

self.default_menu_index = (default_menu_index or 0)

self.window_class_name = window_class_name or "SysTrayIconPy"

message_map = {win32gui.RegisterWindowMessage("TaskbarCreated"): self.restart,

win32con.WM_DESTROY: self.destroy,

win32con.WM_COMMAND:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值