有一个小需求希望在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 3.7.17 windows install 安装包
一款可以缩小到托盘图标的桌面应用代码实例,无加密,代码注释清晰,可以帮助你快速实现一个可以最小化到任务栏,通知区的桌面应用。 你可以用它: 1.制作自己的桌面应用软件【支持关闭后最小化到托盘,点击托盘...
在Windows环境下使用Python,通常需要考虑一些特定的配置和工具,比如设置环境变量以便在命令行中直接运行Python,或者安装集成开发环境(IDE),如Visual Studio Code或PyCharm,以提供代码编辑、调试和项目管理等...
windows下的python环境,2.5版本的,绝对可以满足你的需求
总结一下,"python windows 系统清屏插件.zip"提供的ClearWindow插件为Python IDLE在Windows环境下提供了方便快捷的清屏功能,用户可以通过"Ctrl+L"快捷键实现屏幕的即时清理。这种增强用户体验的小工具对于提高开发...
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 64位最新版本python-3.13.0安装包。
`Tools`目录下有Python的辅助工具和脚本,例如`pydoc`(用于生成和显示文档)、`2to3`(用于将Python 2代码转换为Python 3)和其他实用工具。 `DLLs`目录包含Python运行所需的动态链接库(DLL),这些文件在Windows...
编译的 python 3.8.20 windows install 安装包
在本文中,我们将深入探讨如何使用Python在Windows操作系统下实现数据包的抓取与解析。首先,我们需要了解的背景信息是,系统环境为Windows 7,选用Python 2.7而不是Python 3,主要是因为Scapy库在Python 2中的安装...
自行编译的 python 3.7.11 windows install 64bit 安装包
Python 3.10.12 是 Python 编程语言的一个稳定版本,专为 Windows 操作系统设计。这个自编译版本是由个人或社区成员独立编译的,不同于官方发布的预编译二进制版本。它可能包含了特定的配置选项或者优化,但请注意,...
在 Python 中使用 Pygame 进行气球放飞游戏是一款游戏,您的目标是放飞气球。这款气球升空游戏引入了新的编码技术,用于在Python编程中创建游戏应用程序。 气球爆炸游戏仅使用Python编程语言创建。该应用程序用户...
python在windows锁屏的代码,只要环境安装好了,切换到脚本目录下,就可以锁屏你的计算机,请多多支持,谢谢!
Python编写的Windows进程守护小工具是一款实用的软件,主要用于确保特定的Windows应用程序始终在后台运行。这个工具利用Python的强大功能,结合Windows操作系统API,实现了一个轻量级的进程监控和恢复机制。它允许...
在Windows环境下,直接解压这个压缩包到指定位置,然后添加Python的bin目录到系统路径,就可以在命令行中使用Python和pip了。 对于初学者,这个免安装版本是一个很好的起点,因为它避免了安装过程中的潜在问题,如...
解决 Windows 下 Python--curses 报错问题 Python 是一门广泛应用于数据科学、人工智能、 web 开发等领域的高级编程语言。然而,在 Windows 操作系统下安装 Python 并使用 curses 库时,可能会遇到报错问题。本文...