Python实现实现Windows上气泡提醒效果的方法上气泡提醒效果的方法
主要介绍了Python实现Windows上气泡提醒效果的方法,涉及Python针对windows窗口操作的相关技巧,需要的朋
友可以参考下
本文实例讲述了Python实现Windows上气泡提醒效果的方法。分享给大家供大家参考。具体实现方法如下:
# -*- encoding: gbk -*-
import sys
import os
import struct
import time
import win32con
from win32api import *
# Try and use XP features, so we get alpha-blending etc.
try:
from winxpgui import *
except ImportError:
from win32gui import *
class PyNOTIFYICONDATA:
_struct_format = (
"I" # DWORD cbSize; 结构大小(字节)
"I" # HWND hWnd; 处理消息的窗口的句柄
"I" # UINT uID; 唯一的标识符
"I" # UINT uFlags;
"I" # UINT uCallbackMessage; 处理消息的窗口接收的消息
"I" # HICON hIcon; 托盘图标句柄
"128s" # TCHAR szTip[128]; 提示文本
"I" # DWORD dwState; 托盘图标状态
"I" # DWORD dwStateMask; 状态掩码
"256s" # TCHAR szInfo[256]; 气泡提示文本
"I" # union {
# UINT uTimeout; 气球提示消失时间(毫秒)
# UINT uVersion; 版本(0 for V4, 3 for V5)
# } DUMMYUNIONNAME;
"64s" # TCHAR szInfoTitle[64]; 气球提示标题
"I" # DWORD dwInfoFlags; 气球提示图标
)
_struct = struct.Struct(_struct_format)
hWnd = 0
uID = 0
uFlags = 0
uCallbackMessage = 0
hIcon = 0
szTip = ''
dwState = 0
dwStateMask = 0
szInfo = ''
uTimeoutOrVersion = 0
szInfoTitle = ''
dwInfoFlags = 0
def pack(self):
return self._struct.pack(
self._struct.size,
self.hWnd,
self.uID,
self.uFlags,
self.uCallbackMessage,
self.hIcon,
self.szTip,
self.dwState,
self.dwStateMask,
self.szInfo,
self.uTimeoutOrVersion,
self.szInfoTitle,
self.dwInfoFlags
)
def __setattr__(self, name, value):
# avoid wrong field names
if not hasattr(self, name):
raise NameError, name
self.__dict__[name] = value
class MainWindow:
def __init__(self, title, msg, duration=3):
# Register the Window class.
wc = WNDCLASS()
hinst = wc.hInstance = GetModuleHandle(None)
wc.lpszClassName = "PythonTaskbarDemo"
# 字符串只要有值即可,下面3处也一样
评论0