有一个小需求希望在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
分享到:
相关推荐
需要注意的是,修改扩展名的方法只适用于Windows平台下的Python安装。原因在于只有Windows版的Python支持以.pyw为后缀的脚本文件。当一个文件被赋予.pyw扩展名时,其运行方式与使用pythonw.exe执行脚本相同,即不会...
本篇主要讲述 关于python 最小化托盘和 toasterbox(MSN消息弹出框) 在运行前请先将 wx.ico 图标放置程序同目录下 其中点击 ”显示toaster“ 就直接可以运行消息弹出框 点击“有消息了” 表示Session有值了,...
在Windows环境下使用Python,通常需要考虑一些特定的配置和工具,比如设置环境变量以便在命令行中直接运行Python,或者安装集成开发环境(IDE),如Visual Studio Code或PyCharm,以提供代码编辑、调试和项目管理等...
总结一下,"python windows 系统清屏插件.zip"提供的ClearWindow插件为Python IDLE在Windows环境下提供了方便快捷的清屏功能,用户可以通过"Ctrl+L"快捷键实现屏幕的即时清理。这种增强用户体验的小工具对于提高开发...
一款可以缩小到托盘图标的桌面应用代码实例,无加密,代码注释清晰,可以帮助你快速实现一个可以最小化到任务栏,通知区的桌面应用。 你可以用它: 1.制作自己的桌面应用软件【支持关闭后最小化到托盘,点击托盘...
Python 64位版本在Windows操作系统上的应用是一个重要的软件开发话题。64位版本的Python相较于32位版本,能够处理更大的内存空间,这在处理大量数据或运行内存密集型应用时尤其有利。以下是关于“Python 64bit ...
5. 验证安装:安装完成后,可以在命令提示符下输入`python --version`来检查Python版本,确认安装成功。 对于初学者,理解Python的安装和环境配置至关重要,这直接影响到后续的编程体验。同时,了解Python的版本...
Windows amd64版本的Python安装包是专为64位Windows操作系统设计的,这些版本涵盖了3.7到3.12的多个Python迭代。让我们深入探讨一下这些版本的特性以及如何在Windows上安装和使用Python。 首先,Python 3.7引入了...
在本文中,我们将深入探讨如何使用Python在Windows操作系统下实现数据包的抓取与解析。首先,我们需要了解的背景信息是,系统环境为Windows 7,选用Python 2.7而不是Python 3,主要是因为Scapy库在Python 2中的安装...
自行编译的 python 3.7.11 windows install 64bit 安装包
Python 3.8.6是Python编程语言的一个稳定版本,专为Windows操作系统设计。这个安装包包含所有必要的组件,使得用户能在Windows系统上顺利安装和使用Python 3.8.6。下面将详细介绍Python 3.8.6在Windows上的安装步骤...
Python 2.6.6是Python编程语言的一个旧版本,发布于2011年4月,主要用于Windows操作系统。在本文中,我们将深入探讨Python 2.6.6的特性、安装过程以及与后续版本的差异,以帮助你更好地理解和使用这个版本。 一、...
Python 3.10.12 是 Python 编程语言的一个稳定版本,专为 Windows 操作系统设计。这个自编译版本是由个人或社区成员独立编译的,不同于官方发布的预编译二进制版本。它可能包含了特定的配置选项或者优化,但请注意,...
在 Python 中使用 Pygame 进行气球放飞游戏是一款游戏,您的目标是放飞气球。这款气球升空游戏引入了新的编码技术,用于在Python编程中创建游戏应用程序。 气球爆炸游戏仅使用Python编程语言创建。该应用程序用户...
安装过程中,用户可以选择添加Python到系统路径,以便于命令行环境下直接运行Python命令。 2. **源码包**: 源码包包含了Python的原始代码,这对于开发者来说是极其宝贵的资源。如果你想要修改Python的源代码,或者...
`Tools`目录下有Python的辅助工具和脚本,例如`pydoc`(用于生成和显示文档)、`2to3`(用于将Python 2代码转换为Python 3)和其他实用工具。 `DLLs`目录包含Python运行所需的动态链接库(DLL),这些文件在Windows...
在Windows环境下,直接解压这个压缩包到指定位置,然后添加Python的bin目录到系统路径,就可以在命令行中使用Python和pip了。 对于初学者,这个免安装版本是一个很好的起点,因为它避免了安装过程中的潜在问题,如...
5. **环境配置**:如果在安装过程中没有勾选“Add Python to PATH”,则需要手动将Python的安装路径添加到系统环境变量,以便在任何目录下都能运行Python命令。 6. **第三方库安装**:Python 2.7通常还需要配合pip...
解决 Windows 下 Python--curses 报错问题 Python 是一门广泛应用于数据科学、人工智能、 web 开发等领域的高级编程语言。然而,在 Windows 操作系统下安装 Python 并使用 curses 库时,可能会遇到报错问题。本文...
标题中的“Python-用pyqt5实现一个在Windows任务栏通过奔跑的猫来显示当前系统资源cpu占用情况”指的是利用Python编程语言,结合PyQt5库,创建一个应用程序,该程序会在Windows系统的任务栏图标上展示一个动态的奔跑...