`
angeloce
  • 浏览: 71772 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python windows下显示托盘区气球消息

阅读更多

     有一个小需求希望在wx下建立的托盘区图标上显示气球消息,很尴尬的是wx.TaskBarIcon不像wx.Window等有GetHandle方法,无法直接获得句柄.解决的办法1.自己重写TaskBarIcon... 2.直接遍历找到句柄(更通用麻烦些).据说wxpython在2.9后会加一个wx.NotificationMessage方法,但是2.9....哪年月有动静呢?

#coding: cp936


import win32gui
import win32con
import time

class TestTaskbarIcon:
    def __init__(self):
        
        # 注册一个窗口类
        wc = win32gui.WNDCLASS()
        hinst = wc.hInstance = win32gui.GetModuleHandle(None)
        wc.lpszClassName = "PythonTaskbarDemo"
        wc.lpfnWndProc = {win32con.WM_DESTROY: self.OnDestroy,}
        classAtom = win32gui.RegisterClass(wc)
        style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU
        self.hwnd = win32gui.CreateWindow( classAtom, "Taskbar Demo", style,
                0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT,
                0, 0, hinst, None)
        hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)
        nid = (self.hwnd, 0, win32gui.NIF_ICON, win32con.WM_USER+20, hicon, "Demo")
        win32gui.Shell_NotifyIcon(win32gui.NIM_ADD, nid)

    def showMsg(self, title, msg):
        # 原作者使用Shell_NotifyIconA方法代替包装后的Shell_NotifyIcon方法
        # 据称是不能win32gui structure, 我稀里糊涂搞出来了.
        # 具体对比原代码.
        nid = (self.hwnd, # 句柄
                0, # 托盘图标ID
                win32gui.NIF_INFO, # 标识
                0, # 回调消息ID
                0, # 托盘图标句柄
                "TestMessage", # 图标字符串
                msg, # 气球提示字符串
                0, # 提示的显示时间
                title, # 提示标题
                win32gui.NIIF_INFO # 提示用到的图标
                )
        win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, nid)

    def OnDestroy(self, hwnd, msg, wparam, lparam):
        nid = (self.hwnd, 0)
        win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid)
        win32gui.PostQuitMessage(0) # Terminate the app.
        

if __name__ == '__main__':
    t = TestTaskbarIcon()
    t.showMsg("出来吧!", "奥特曼!")
    time.sleep(5)
    win32gui.DestroyWindow(t.hwnd)

 

    1. 除了算法设计时, 使用python真的很简单.

    2. 会用python没什么, 还得会用千奇百怪的东西, 比如这个

    3. 不经常对windows开发的人,还是常备msdn和baidu/google才不会慌马脚..

    

    程序有改动,尽量缩减,原文请见:

   

写道
http://www.3snews.net/html/50/550-20986.html

 

分享到:
评论

相关推荐

    Python运行不显示DOS窗口的解决方法

    需要注意的是,修改扩展名的方法只适用于Windows平台下的Python安装。原因在于只有Windows版的Python支持以.pyw为后缀的脚本文件。当一个文件被赋予.pyw扩展名时,其运行方式与使用pythonw.exe执行脚本相同,即不会...

    python托盘和(MSN消息)弹出框体验

    本篇主要讲述 关于python 最小化托盘和 toasterbox(MSN消息弹出框) 在运行前请先将 wx.ico 图标放置程序同目录下 其中点击 ”显示toaster“ 就直接可以运行消息弹出框 点击“有消息了” 表示Session有值了,...

    Python 3.10.14 for Windows 自编译版

    在Windows环境下使用Python,通常需要考虑一些特定的配置和工具,比如设置环境变量以便在命令行中直接运行Python,或者安装集成开发环境(IDE),如Visual Studio Code或PyCharm,以提供代码编辑、调试和项目管理等...

    python windows 系统清屏插件.zip

    总结一下,"python windows 系统清屏插件.zip"提供的ClearWindow插件为Python IDLE在Windows环境下提供了方便快捷的清屏功能,用户可以通过"Ctrl+L"快捷键实现屏幕的即时清理。这种增强用户体验的小工具对于提高开发...

    python+pyqt制作的可最小化到托盘的桌面图形应用代码实例

    一款可以缩小到托盘图标的桌面应用代码实例,无加密,代码注释清晰,可以帮助你快速实现一个可以最小化到任务栏,通知区的桌面应用。 你可以用它: 1.制作自己的桌面应用软件【支持关闭后最小化到托盘,点击托盘...

    python windows 64bit

    Python 64位版本在Windows操作系统上的应用是一个重要的软件开发话题。64位版本的Python相较于32位版本,能够处理更大的内存空间,这在处理大量数据或运行内存密集型应用时尤其有利。以下是关于“Python 64bit ...

    Python Windows安装包 32 和 64

    5. 验证安装:安装完成后,可以在命令提示符下输入`python --version`来检查Python版本,确认安装成功。 对于初学者,理解Python的安装和环境配置至关重要,这直接影响到后续的编程体验。同时,了解Python的版本...

    Python Windows amd64安装包(3.7-3.12)

    Windows amd64版本的Python安装包是专为64位Windows操作系统设计的,这些版本涵盖了3.7到3.12的多个Python迭代。让我们深入探讨一下这些版本的特性以及如何在Windows上安装和使用Python。 首先,Python 3.7引入了...

    使用Python实现windows下的抓包与解析

    在本文中,我们将深入探讨如何使用Python在Windows操作系统下实现数据包的抓取与解析。首先,我们需要了解的背景信息是,系统环境为Windows 7,选用Python 2.7而不是Python 3,主要是因为Scapy库在Python 2中的安装...

    python 3.7.11 windows install 安装包

    自行编译的 python 3.7.11 windows install 64bit 安装包

    python3.8.6 windows安装包

    Python 3.8.6是Python编程语言的一个稳定版本,专为Windows操作系统设计。这个安装包包含所有必要的组件,使得用户能在Windows系统上顺利安装和使用Python 3.8.6。下面将详细介绍Python 3.8.6在Windows上的安装步骤...

    python windows安装包 2.6.6

    Python 2.6.6是Python编程语言的一个旧版本,发布于2011年4月,主要用于Windows操作系统。在本文中,我们将深入探讨Python 2.6.6的特性、安装过程以及与后续版本的差异,以帮助你更好地理解和使用这个版本。 一、...

    Python 3.10.12 for Windows 自编译版

    Python 3.10.12 是 Python 编程语言的一个稳定版本,专为 Windows 操作系统设计。这个自编译版本是由个人或社区成员独立编译的,不同于官方发布的预编译二进制版本。它可能包含了特定的配置选项或者优化,但请注意,...

    在Python中使用Pygame的爆炸气球游戏及其源代码

    在 Python 中使用 Pygame 进行气球放飞游戏是一款游戏,您的目标是放飞气球。这款气球升空游戏引入了新的编码技术,用于在Python编程中创建游戏应用程序。 气球爆炸游戏仅使用Python编程语言创建。该应用程序用户...

    python安装包(windows32/64bit)+源码包+docs包

    安装过程中,用户可以选择添加Python到系统路径,以便于命令行环境下直接运行Python命令。 2. **源码包**: 源码包包含了Python的原始代码,这对于开发者来说是极其宝贵的资源。如果你想要修改Python的源代码,或者...

    python2.7 windows版zip文件

    `Tools`目录下有Python的辅助工具和脚本,例如`pydoc`(用于生成和显示文档)、`2to3`(用于将Python 2代码转换为Python 3)和其他实用工具。 `DLLs`目录包含Python运行所需的动态链接库(DLL),这些文件在Windows...

    python2.7和3.7免安装windows版(含pip)

    在Windows环境下,直接解压这个压缩包到指定位置,然后添加Python的bin目录到系统路径,就可以在命令行中使用Python和pip了。 对于初学者,这个免安装版本是一个很好的起点,因为它避免了安装过程中的潜在问题,如...

    python 2.7windows安装包

    5. **环境配置**:如果在安装过程中没有勾选“Add Python to PATH”,则需要手动将Python的安装路径添加到系统环境变量,以便在任何目录下都能运行Python命令。 6. **第三方库安装**:Python 2.7通常还需要配合pip...

    解决windows下python--curses报错问题

    解决 Windows 下 Python--curses 报错问题 Python 是一门广泛应用于数据科学、人工智能、 web 开发等领域的高级编程语言。然而,在 Windows 操作系统下安装 Python 并使用 curses 库时,可能会遇到报错问题。本文...

    Python-用pyqt5实现一个在Windows任务栏通过奔跑的猫来显示当前系统资源cpu占用情况

    标题中的“Python-用pyqt5实现一个在Windows任务栏通过奔跑的猫来显示当前系统资源cpu占用情况”指的是利用Python编程语言,结合PyQt5库,创建一个应用程序,该程序会在Windows系统的任务栏图标上展示一个动态的奔跑...

Global site tag (gtag.js) - Google Analytics